TeamQuest Blog

Jak udostępnić swój projekt na licencji open source

Jak udostępnić swój projekt na licencji open source

Marcin Sarna , 07.05.2021 r.

Na czym się skupić gdy wychodzisz ze swoim kodem na świat.

Krok po kroku

Decyzja o udostępnieniu oprogramowania na zasadach wolnego oprogramowania to ważny krok. Rozważyłeś zalety i wady takiego rozwiązania i uważasz, że skorzysta ono na kwitnącym ekosystemie i społeczności open source. Jedyne, co pozostaje do zrobienia, to umieścić go na platformie publicznej i gotowe, prawda? Może, ale powinniśmy przejść przez kilka kroków, żeby nie wylać dziecka z kąpielą.

Jest kilka podstawowych kwestii, na których należy się skupić przed utworzeniem projektu typu open source:

  1. Przeskanuj repozytorium w poszukiwaniu danych nie-do-upublicznienia, takich jak np. hasła
  2. Zastąp nazwy wewnętrzne i adresy e-mail danymi publicznymi
  3. Napisz wytyczne dotyczące wkładu w projekt (CONTRIBUTING.md)
  4. Napisz szablon raportu o błędzie
  5. Wybierz swoją licencję (LICENSE.md) – może TGPPL będzie ok?
  6. Napisz swoją politykę bezpieczeństwa (SECURITY.md)
  7. Napisz wprowadzenie do projektu (README.md)
  8. Jeszcze raz przeskanuj repozytorium w poszukiwaniu danych, które nie powinny zostać upublicznione.

Skupmy się tu na dwóch pierwszych (i ostatniej) kwestiach gdyż są one najważniejsze z punktu widzenia bezpieczeństwa Twojego projektu.

Lepiej za dużo nie pokazać

Jedną z pierwszych rzeczy, które powinieneś zrobić przed upublicznieniem repozytorium, jest sprawdzenie, czy w historii git i w samych plikach projektu nie ma żadnych rzeczy, które nie powinny wyjść na światło dzienne. Pamiętaj, że w przypadku gita publikujesz nie tylko aktualną wersję projektu. Upubliczniasz także każdą zmianę i iterację, która kiedykolwiek została dokonana.

Zresztą zacznijmy od tego, że nie powinno się przechowywać sekretów nawet w repozytoriach wewnętrznych. Idea, że repozytorium wewnętrzne jest prywatne i kryje się za uwierzytelnianiem, może zwieść Cię na manowce i prowadzić do fałszywego poczucia bezpieczeństwa.

GitGuardian

Jeśli korzystasz z wewnętrznego monitorowania GitGuardian, możesz łatwo przeskanować całą historię repozytorium kiedy tylko chcesz. A jeśli Twoje repozytorium znajduje się na platformie niemonitorowanej przez GitGuardian lub chcesz przeskanować lokalną gałąź projektu, to w tym celu możesz posłużyć się GitGuardian Shield. Umożliwia on skanowanie różnych typów danych przy użyciu publicznego interfejsu API GitGuardian.

Po zainstalowaniu GitGuardian Shield wystarczy wydać polecenie skanowania repozytorium, na przykład: ggshield scan repo https://github.com/moj_projekt/nazwa_projektu.git. A jeśli chcesz przeskanować lokalne repozytorium wchodzisz do katalogu repozytorium, wybierasz właściwą gałąź i włączasz skanowanie. Na przykład tak:

cd nazwa_projektu
git checkout main-secrets
ggshield scan repo .

Zastępowanie nazw wewnętrznych i adresów e-mail danymi publicznymi

Chociaż nie jest to kwestia bezpieczeństwa sensu stricte (security by obscurity jest uważane za bezpieczeństwo w szerszym znaczeniu), możesz chcieć zastąpić niektóre informacje w historii repozytorium aby nie zdradzić niektórych współautorów albo nie powiązać konkretnych zmian z konkretnym programistą. Te informacje mogą stanowić na przykład:

  • Wewnętrzne adresy e-mail używane podczas programowania, niezgodne z publicznymi adresami e-mail autorów na publicznej platformie hostingowej (GitHub, GitLab).
  • Wewnętrzne nazwy produktów, które nie pasują do nazw publicznych.
  • Domeny wewnętrzne używane w testach.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej