Jaki jest właściwy / grzeczny sposób dziedziczenia po opuszczonym projekcie typu open source dla nowego projektu typu open source?


13

Mój zespół właśnie próbował skontaktować się z facetami ze starego projektu open source hostowanego na code.google.com. Powiedzieliśmy im, że chcielibyśmy dołączyć do ich projektu i zobowiązać się do niego - przynajmniej do jakiejś jego gałęzi - ale nikt nam nie odpowiedział. Próbowaliśmy wszystkich, właścicieli i sprawców; nikt nie był w żaden sposób aktywny i nikt nie odpowiedział.

Ale mamy trochę kodu do zatwierdzenia i naprawdę chcielibyśmy kontynuować prace nad tym projektem. Musimy więc stworzyć nowy projekt. Wymyśliliśmy jego nazwę, która jest zbliżona, ale nie jest duplikatem nazwy projektu, z którego chcemy dziedziczyć. Jak powinniśmy wykonać nasze pierwsze zatwierdzenie i jaki powinien być komunikat zatwierdzenia? Czy powinniśmy po prostu skopiować ich kod do naszego repozytorium z komentarzem typu „odziedziczyliśmy ten kod, znaleźliśmy go tutaj na podstawie takiej i takiej licencji ... teraz aktualizujemy go do tej bardziej / mniej surowej licencji ...”? A może powinniśmy po prostu użyć ich kodu jako naszego pierwszego zatwierdzenia, z aktualizacjami mówiącymi „odziedziczyliśmy po ... dokonaliśmy takich i takich zmian ...”?


7
O ile nie uzyskasz pozwolenia na oryginalny projekt, w zależności od oryginalnej licencji prawdopodobnie nie będziesz w stanie uczynić go mniej surową licencją. Jeśli licencja jest na tyle liberalna, aby na to pozwolić, to prawdopodobnie nie ma potrzeby przechodzenia na jeszcze bardziej liberalną licencję.
Matthew Scharley

Odpowiedzi:


13

Idealnie byłoby rozwidlić go na Google Code, który zachowałby całą starą historię. Nie wiem, czy jest to wyraźnie obsługiwane w kodzie Google, ale jeśli stary projekt używa git jako kontroli wersji, możesz to zrobić ręcznie, klonując stary projekt do lokalnego katalogu, modyfikując originpilota, aby wskazywał na nowy repozytorium, a następnie wypychanie lokalnej kopii.

Jestem pewien, że podobna metoda może być użyta z subversion ( svnsyncbyć może?), Ale nie mam praktycznego doświadczenia z subversion, więc nie mogę tam komentować.


2
kod google obsługuje Mercurial, ale nie git. W przypadku rtęci procedura jest jednak bardzo podobna, wystarczy zmodyfikować defaultalias w .hg\hgrc.
Wim Coenen,

@Wim dziękuję za informacje. Naprawdę w ogóle nie korzystałem z Google Code, tylko tyle informacji o tym, co wiem.
Matthew Scharley

8

Najważniejsze jest to, czy licencja na oryginalny kod i na co pozwala. Jedną z rzeczy, na którą powinieneś bardzo uważać, jest zmiana licencji, ponieważ możesz tego po prostu nie mieć - pamiętaj, że nie masz praw autorskich.

Ale zakładając, że wszystko jest w idealnej kolejności, początkowym komunikatem zatwierdzenia może być „Zaimportowany 2011-02-25 z http: // .... wersja XYZ”, a także wyraźne objaśnienie w pliku README.txt.

Wyjaśnij, co zrobiłeś, i jeśli to możliwe, napisz kod, używając oryginalnego kodu jako biblioteki. To znacznie ułatwia rozdzielenie problemów.



4

Jeśli skontaktowałeś się ze starym projektem, to nie sądzę, aby mogli narzekać, po prostu bądź otwarty i jasno oceniaj, co robisz, i nie ciesz się pracą innych. Prawdopodobnie postaram się wyjaśnić sytuację zarówno na twojej stronie internetowej, jak i w pierwszym komunikacie zatwierdzenia. Uprzejmie byłoby również upewnić się, że początkowy import kodu jest dokładnie taki sam jak w poprzednim projekcie, więc wszystkie zmiany znajdują się w dziennikach zatwierdzeń.

Jak powiedzieli inni, możesz zmienić licencję tylko na zgodną i NIE MOŻESZ zmienić właścicieli praw autorskich, nawet jeśli zmienisz licencję. Ważne jest, aby przechowywać tam wszystkie dotychczasowe nazwiska właścicieli praw autorskich oraz we wszystkich plikach, nad którymi pracowali.



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.