Kiedyś byłem prawnikiem własności intelektualnej, więc mam doświadczenie w licencjonowaniu. Wydaje mi się, że same warunki są dość czytelne i zrozumiałe, ale z drugiej strony nęka mnie trzyletnia szkoła prawnicza i trochę czasu na prawnictwo, zanim znów odzyskam rozum i wrócę do hakowania. Zwłaszcza, że obecnie nie jestem aktywnym prawnikiem, z pewnością nie jest to w żaden sposób porada prawna.
Zacznijmy od samego języka licencji MIT. Następnie przedstawię kilka kluczowych punktów do zrozumienia licencji open source, a następnie odpowiem na pytania i przedstawię uwagi na wysokim szczeblu.
Niniejszym udziela się bezpłatnie każdej osobie, która otrzymuje kopię tego oprogramowania i powiązanych plików dokumentacji („Oprogramowanie”), do czynienia z Oprogramowaniem bez ograniczeń, w tym między innymi prawa do używania, kopiowania, modyfikowania, łączenia , publikować, rozpowszechniać, udzielać podlicencji i / lub sprzedawać kopie Oprogramowania oraz zezwalać na to osobom, którym Oprogramowanie zostało dostarczone, z zastrzeżeniem następujących warunków: (pozostawienia w nim niniejszego powiadomienia. Koniec).
Kilka kluczowych rzeczy dla większości licencji open source (w tym BSD, MIT, GPL) dla właścicieli praw autorskich to:
- Licencja nie zmienia twojego prawa własności do samego prawa autorskiego. Jest to niewyłączna licencja, a nie cesja lub utrata własności. Korzystanie z licencji systemu operacyjnego nie oznacza „umieszczenia czegoś w domenie publicznej”, chociaż jest to z pewnością jedno podejście do open source.
- Nic nie „zmusza” Ciebie, właściciela praw autorskich, do upublicznienia kodu w jakikolwiek sposób tylko dlatego, że dołączasz do niego licencję.
- Ale jeśli korzystasz z licencji systemu operacyjnego, nie możesz uniemożliwić nikomu, kto „uzyska” twój kod licencji systemu operacyjnego, upublicznienie go w jakikolwiek sposób, co jest wyraźnie objęte ich prawami wynikającymi z wszystkich tych licencji.
- Licencje Copyleft (np. GPL) wymagają od podmiotów uzyskujących (ale nie właścicieli) upublicznienia swoich dzieł pochodnych i oprogramowania typu open source. Dopuszczalne (MIT, BSD) nie. (może to być trochę uproszczenie, ale jest to zasadnicza różnica)
- W przypadku większości licencji typu open source (np. MIT) nie ma klauzuli „odbioru zwrotnego”, więc gdy ktoś „uzyska” Twój kod, ma prawo do korzystania z niego bez końca, zgodnie z warunkami licencji, na podstawie których go otrzymał.
- Zawsze możesz rozpowszechniać przyszłe wersje kodu na innej licencji lub zachować je całkowicie na własność. To nie powstrzymuje kogoś od rozpoczęcia od poprzedniej wersji Open Source (zakładając, że „ją uzyskał”) i dodania własnych nowych części i dystrybucji.
- Możesz usunąć kanał „pozyskiwania” poprzednich wersji kodu, np. Zdejmij go z github. Jednak, jak wspomniano, nie uniemożliwia to innym osobom używania ani rozpowszechniania jakichkolwiek wcześniejszych wersji, które miałeś otwarte, w jakikolwiek sposób.
Na tej podstawie przejdę do twoich pytań.
Nie rozpowszechniam mojego kodu nikomu. Nie muszę rozpowszechniać mojego kodu licencyjnego MIT nikomu, jeśli jestem właścicielem praw autorskich, prawda? Mam na myśli, czy ktoś może poprosić o wydanie mojego kodu, który, jak twierdzę, jest objęty licencją MIT? To nie byłby koniec świata i na pewno zgodziłbym się na to pod groźbą prawa. ... Jednocześnie nie chcę nikomu rozpowszechniać tego kodu jako projektu typu open source.
Jako właściciel praw autorskich nie musisz rozpowszechniać nikomu kodu; nie będziesz musiał honorować takich próśb (nawet gdyby była to GPL). Zachowujesz wszystkie prawa. Jednak w opisywanej sytuacji dystrybuowałbyś do swojej nowej firmy i udzielałby na nią licencji na podstawie licencji systemu operacyjnego. Twój pracodawca (bardziej prawdopodobny były pracodawca) może wkleić Twój kod do Internetu i nie będziesz w stanie nic z tym zrobić poza narzekaniem.
Zakładam, że masz na myśli „kogokolwiek poza moim pracodawcą”. Jeśli nie chcesz dać swojego pracodawcy „jako oprogramowanie typu open source” i dać im wszystkie prawa zawarte w tej licencji, w tym redystrybucję i użytkowanie wieczyste w dowolny sposób, nie powinieneś używać licencja typu open source. Powinieneś po prostu licencjonować go bezpośrednio na nich na warunkach, które chcesz. Bullet wskazuje, czego chcesz, i prawnik wystawia rachunek za godzinę lub dwie, aby umieścić je w formie akapitu. Lub napisz to sam. Licencje są tylko umowami, które są po prostu umowami wyrażonymi słowami.
Moim ostatecznym celem jest możliwość korzystania z pochodnej wersji mojego poprzedniego zakodowanego frameworka bez utraty praw autorskich.
Nie możesz utracić praw autorskich, chyba że powierzysz je komuś, udzielisz na nie wyłącznej licencji (w tym samemu sobie wykluczasz) lub utracisz je. Licencja Open Source nie jest żadną z nich. Zawsze będziesz mógł korzystać z utworzonych wersji pochodnych, a nawet licencjonować pochodne w inny sposób lub zachować wszystkie prawa.
Ale podstawową, twoją uzasadnioną troską wydaje się być to, że nadal będziesz w stanie zachować prawa autorskie i używać swojego kodu w przyszłości, bez konieczności zgłaszania roszczeń przez pracodawcę do kodu lub że nie masz do tego prawa. Kluczem do tego jest stworzenie niepodważalnego dowodu na to, że A) zachowujesz prawa autorskie do swojej poprzedniej pracy i udostępniasz je im na podstawie warunków licencji X (MIT działa, jeśli nie masz nic przeciwko opisanemu powyżej aspektowi open source. ) B) zgadzają się na te warunki oraz C) co dokładnie była poprzednia praca.
W przypadku (A) i (B) możesz skłonić ich do podpisania lub wyrażenia zgody na piśmie na coś, co odwołuje się do licencji lub zawiera licencję i że rozumieją, że dostarczasz kod do tabeli zgodnie z tymi warunkami. Co do (C) nie jestem pewien, jaki byłby standardowy sposób, ale logiczne. Jeśli nie jest zbyt masywny, możesz po prostu wydrukować kod i dołączyć go do aneksu w kopiach umowy podpisanej przez ciebie i twojego pracodawcę. Zachowaj swoją kopię z podpisem. Jeśli jest zbyt duży, aby go praktycznie wydrukować, wygląda na to, że przydałby się tu skrót md5. Może mógłbyś to nazwać czymś w rodzaju „pliku zip o nazwie X w prywatnym repozytorium github /, (lub stronie ftp itp.), Który ma hash md5 XXXXXX ... i został wysłany e-mailem do firmy Y reprentative na Z data". Następnie możesz wysłać go e-mailem do swojego przełożonego lub jego prawnika lub kogokolwiek z osobistego konta e-mail, a nawet jeśli usuną ich kopię, nadal zachowujesz swoją i nie mogą argumentować, że przewidziałeś przyszły skrót kodu md5, który nie został jeszcze napisany . To teoretycznie zapobiegłoby im dochodzenie roszczeń na drodze.
(Nie jestem prawnikiem.)
Widzę z tym kilka potencjalnych problemów:
Jeśli najgorsze stanie się najgorsze, będziesz musiał udowodnić, że napisałeś ten kod, zanim zacząłeś tam pracować, a kiedy używałeś go w swoim projekcie w pracy, twój pracodawca był świadomy, że jest on chroniony prawem autorskim i licencją MIT . Ponieważ głównym celem tego jest zachowanie praw autorskich, a nie ustalanie warunków redystrybucji, lepszym pomysłem wydaje się pisemna umowa z pracodawcą dotycząca korzystania z wcześniej napisanego kodu.
Mówisz, że chcesz chronić swoje prawa autorskie i możliwość zbudowania „nawet innej pochodnej wersji”. Teraz jest prawdopodobne, że podczas obecnej pracy będziesz mieć kilka świetnych pomysłów i je wdrożyć. Wydaje mi się, że byłoby to owłosione, gdy odejdziesz z pracy, a następnie „ponownie wdrożysz” te pomysły, aby zbudować inną wersję biblioteki - ponieważ nie możesz zrobić, co chcesz, z kodem, który napisałeś w pracy (i do pewnego stopnia idee za tym stojące).
źródło
Nie jestem prawnikiem, ale takie byłoby moje rozwiązanie:
Zwolnij kod na licencji GNU GPL v3 w publicznym repozytorium, gdzie wszyscy mogą to zobaczyć.
Licencja GPL nie zezwala innym osobom na pobieranie Twojego kodu i umieszczanie go w zastrzeżonym oprogramowaniu komercyjnym oraz zamykanie kodu.
Jeśli kod został w 100% utworzony przez Ciebie i nie zawiera pracy pochodzącej od innych osób ani pracy pochodnej, GPL pozwala również na licencjonowanie kodu na innej licencji, w którym to przypadku możesz używać go w swoich pracach do celów komercyjnych kod. Musisz jednak uczynić pracodawcę licencjobiorcą tej alternatywnej licencji zastrzeżonej.
To rozwiązanie udowodni, że napisałeś swój kod PRZED podjęciem pracy.
Możesz zareklamować, że Twój kod jest dostępny w ramach zastrzeżonej licencji na sprzedaż (za pieniądze), a następnie zainteresowane strony mogą się z Tobą skontaktować, aby go kupić.
źródło
Czy istnieje konkretny powód, dla którego nie możesz zapytać swojego pracodawcy, czy możliwe jest zachowanie praw autorskich do ogólnego kodu, który piszesz dla swojego frameworka (co z kolei daje im teraz trochę darmowego kodu) i dajesz mu wszystko, co możesz zrobić? -you-want-with-it (zgadza się, to całkiem jak MIT).
Jeśli jednak licencjonujesz swój obecny kod MIT, nie ma powodu, dla którego Twój pracodawca powinien otworzyć źródło jego zmodyfikowanej wersji (zmodyfikowanej przez Ciebie), więc powiedziałbym, że to nie rozwiązuje zbyt wiele. Nawet LGPL nie rozwiązałoby tego, o ile kod nie jest „rozpowszechniany”.
Podsumowując, twoja umowa nie brzmi nieracjonalnie: masz jakiś kod frameworka i jesteś gotów przekazać go firmie, o ile tylko możesz go zatrzymać i wykorzystać go do innych projektów później, więc dlaczego nie pytaj?
źródło
IANAL, zapytaj prawdziwego prawnika itp.
Po pierwsze, myślę, że wierzysz, że posiadając prawa autorskie, możesz licencjonować produkt samemu na tych samych warunkach, na jakich udzielasz go wszystkim innym. To źle: możesz licencjonować je sobie w dowolnej odpowiedniej licencji i udzielać licencji innej osobie na innej licencji.
Co oznacza, że możesz utworzyć specjalną licencję dla firmy, która zamierza Cię zatrudnić, i udostępnić im oprogramowanie jako oddzielną umowę. Oczywiście powinien to zrobić prawdziwy prawnik.
Poproś swoją firmę o podpisanie oddzielnej licencji, która wyraźnie stwierdza, że masz prawa autorskie i dajesz im określone prawa, a nie prawa autorskie.
Jeśli chodzi o kwestię drugorzędną, istnieją inne sposoby na udowodnienie wcześniejszej daty, poza projektem open source. Na przykład, możesz przechowywać na publicznie dostępnym serwerze plik, który mówi, że rzeczywiście napisałeś to oprogramowanie, we wskazanym dniu, zawierający na przykład kilka różnych skrótów bieżącej wersji, a nawet zaszyfrowaną wersję projektu.
Oznacza to, że jeśli jesteś zagrożony prawnie, możesz udowodnić sędziemu wcześniejszą datę użycia, ale nie ujawniasz praktycznie nic o projekcie, poza tym, że jesteś autorem i datą jego ujawnienia. Powinieneś skonsultować się z prawnikiem w sprawie możliwej ważności takiego argumentu, ale uważam, że zostałby zaakceptowany w większości sądów.
źródło