Jak powinienem licencjonować mój moduł?

15

Mam moduł, który napisałem dla mojej firmy. Pobiera dane z naszego rozwiązania back office i importuje je do Magento. Przyjmuje także zamówienia od Magento i importuje je do oprogramowania back office. Przeczytałem trochę o rodzajach licencji, z których mogę korzystać, ale nie wiem, z którego z nich korzystać. Moje podstawowe wymagania to:

  1. Nie chcę, aby ktoś kopiował / rozpowszechniał kod jako własną pracę.
  2. Kod jest napisany przeze mnie, ale wywołuje podstawowe funkcje magento.
  3. Moduł będzie można pobrać za darmo, ale do korzystania z niego potrzebny będzie serwis internetowy Url, który zapewni moja firma (po otrzymaniu płatności).
  4. Chcę móc to rozpowszechniać we wszystkich wersjach Magento (oprócz GO (chyba)).

Dwa pytania, mając na uwadze powyższe:

  1. Która licencja najlepiej odpowiada moim potrzebom? (Nie znalazłem ostatecznej listy ich wszystkich do przeczytania).
  2. Jak egzekwować tę licencję? Czy dodanie niektórych warunków na początku każdego skryptu wystarczy, aby upewnić się, że licencja jest na miejscu?

Jeśli gdzieś te informacje są zawarte, proszę o link do mnie, ale po moich poszukiwaniach nie mogłem znaleźć niczego, co odpowiadałoby konkretnie mojej sytuacji.

webnoob
źródło
licensemożna również licence napisać jako oxforddictionaries.com/definition/english/licence . Jestem z Wielkiej Brytanii;)
webnoob
Następnie możemy cofnąć, jeśli chcesz.
philwinkle,
1
@David - Dzięki, nie miałem uprawnień do utworzenia tagu.
webnoob
1
Osobiście wolę -se dla czasowników i -CE dla rzeczowników (porównaj doradztwo / porad ), lecz słownika zauważa, że -CE jest „dopuszczalne” pisownia czasownika. Collins wymienia formularz -ce tylko jako rzeczownik.
TRiG

Odpowiedzi:

10

Oświadczenie: Nie jestem prawnikiem, więc nie traktuj tego jako porady prawnej. Podane informacje oparte są na moich doświadczeniach i osobistych badaniach w branży. :)

Moją sugestią byłoby użycie licencji OSL-3.0. Jest to ta sama licencja, pod którą dystrybuowany jest rdzeń Magento CE ( http://www.magentocommerce.com/license/ ) i obejmuje to, co według mnie chcesz, na podstawie podanych informacji. Części Magento, takie jak domyślny / podstawowy motyw, są dystrybuowane w ramach AFL z powodów, które Roy przedstawił tutaj: http://www.magentocommerce.com/license/

Pełną licencję OSL-3.0 można znaleźć tutaj: http://opensource.org/licenses/OSL-3.0 .

Aby wydać rozszerzenia w Magento Connect, musisz wybrać jeden z następujących rodzajów licencji (sugeruję, że najważniejszym z wymienionych elementów jest):

  • Licencja na otwarte oprogramowanie (OSL)
  • Licencja publiczna Mozilla (MPL)
  • Licencja Massachusetts Institute of Technology (MITL)
  • Mniejsza ogólna licencja publiczna GNU (LGPL)
  • GNU General Public License (GPL)
  • Licencja Berkeley Software Distribution License (BSDL)
  • Licencja na oprogramowanie Apache (ASL)
  • Academic Free Licence (AFL)

Istnieje również opcja „określenia innej (komercyjnej) licencji, jeśli dystrybuujesz pakiet rozszerzeń jako płatny” - ale jak zauważa, należy go zapłacić, co oznacza, że ​​nie jest to dla ciebie opcja.

Polecam zapoznać się z pełną wersją OSL (link powyżej), ale oto kilka istotnych rzeczy, na które warto zwrócić uwagę:

  • Licencja daje użytkownikom prawo do tworzenia, używania i sprzedaży kopii zarówno dzieł oryginalnych, jak i pochodnych. Ponieważ nie planujesz ładowania modułu, nie powinno to stanowić problemu.
  • Licencja wymaga, aby wszystkie informacje o autorze pozostały nienaruszone zarówno w pracach oryginalnych, jak i pochodnych. Tj. Wszelkie ponownie rozpowszechniane kopie (w tym zmodyfikowane, rozszerzone itp.) Muszą zachować wszystkie informacje o prawach autorskich, patentach, znakach towarowych i licencjach określone jako „Informacje o uznaniu autorstwa”

Główne pytanie brzmi: jak zastosować to do kodu? Dałbym kilka wskazówek:

  • Upewnij się, że rozpowszechniasz pełną kopię licencji OSL-3.0 w kodzie źródłowym modułu zawartym w pliku LICENSE.txt.
  • Dołącz nagłówek u góry każdego pliku kodu, podając „Powiadomienie o uznaniu autorstwa” lub „Powiadomienie o licencji”. Powinno to zadeklarować licencję, na podstawie której dystrybuowany jest kod, zapewnić podstawowe wyłączenie odpowiedzialności (w razie potrzeby) oraz podać informacje o prawach autorskich i link do Licencja.
  • Jako punkt odniesienia możesz rzucić okiem na nagłówek, który Magento CE stosuje w całym kodzie, na który licencjonuje w ramach licencji Open Software License.
davidalger
źródło
1
@ philwinkle - zastanawiałem się, gdy pisałem, czy wypełniasz to samo pudełko, co ja… :)
davidalger
8

Edytuj 7/16/13:

Github właśnie opublikował świetny przegląd wszystkich głównych modeli licencjonowania, aby pomóc ci dokonać bardziej świadomego wyboru:

http://choosealicense.com/

http://choosealicense.com/licenses/


Nie jestem adwokatem. Powinieneś porozmawiać z jednym.

Utrudniając to - istnieje zbyt wiele licencji wolnego oprogramowania, aby je wymienić. Istnieją 4 główne licencje Open Software (i czekam na atak zmian, aby rozszerzyć tę listę o te, o których zapomniałem):

  • Apacz
  • OSL 3.0
  • MIT
  • Nowy BSD

I wiele twoich ulubionych programów typu open source prawdopodobnie używa jednego z 4 powyższych.

Jak dokonać wyboru?

Jeff Atwood wykonał świetną robotę, porównując licencje na swoim blogu Coding Horror: http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html

Dostępna jest również aplikacja internetowa „selektor licencji”: http://three.org/openart/license_chooser/

Phil Haack rozprowadza to wszystko do następujących czterech rodzajów licencji; Zgadzam się z nim:

Zastrzeżony - Kod jest mój! Nie możesz na to patrzeć. Nie można tego odtworzyć. Mine Mine Mine!

GPL - Możesz robić, co chcesz, z kodem, ale jeśli rozpowszechniasz kod lub pliki binarne, musisz otworzyć zmiany za pomocą licencji GPL.

Nowe BSD - używaj na własne ryzyko. Rób co chcesz, do cholery, z kodem, po prostu zachowaj nienaruszoną licencję, uznaj mnie i nigdy nie pozywaj mnie, jeśli oprogramowanie zdmuchnie ci nogę. Licencja MIT jest godną uwagi alternatywą dla nowego BSD i jest bardzo bardzo podobna.

Domena publiczna - rób co chcesz z kodem. Kropka. Nigdy więcej nie będziesz musiał o mnie wspominać. Możesz zapomnieć, że kiedykolwiek istniałem.

Dla wszystkich celów i celów wydaje mi się, że to właśnie nowy BSD / MIT jest tym, czego szukasz, jednak tylko Ty możesz podjąć tę decyzję.

Dla przypomnienia, Magento to AFL 3.0, ale kiedyś OSL 3.0. http://www.magentocommerce.com/license/

Prawdopodobnie najważniejszą funkcją tych licencji jest zgodność z GPL . Fundacja Wolnego Oprogramowania popiera wiele innych na swojej stronie - cytowanej tutaj na tej Wiki: http://en.wikipedia.org/wiki/List_of_FSF_approved_software_licenses

W skrócie:

Musisz dokonać własnego wyboru. Nikt nie może wziąć krótkiego pytania na StackExchange i zinterpretować twoich indywidualnych potrzeb. Ogólnie rzecz biorąc, jeśli nie chcesz, aby twoje oprogramowanie było udostępniane w sieciach publicznych , powinieneś spojrzeć na OSL 3.0 i jego warianty.

Po wybraniu licencji, jak ją zastosować?

Dołącz informację o licencji i licencję na górze wszystkich swoich plików. Dołącz LICENSE.TXT i link do ogłoszenia o licencji na swojej stronie.

philwinkle
źródło
Korekta: Magento nie jest AFL. Rozpowszechniają AFL poprzez plik LICENSE_AFL.txt w katalogu głównym, ale myślę, że dotyczy to dołączonego kodu, który wchodzi w zakres AFL. Magento jest (i jest od co najmniej 1.3) licencją na OSL 3.0. Nawet 1.8 alfa odwołuje się do OSL 3.0 w nagłówkach licencji. ;)
davidalger
Właściwie… oboje mamy rację. Niektóre rozszerzenia i podstawowe motywy zostały zmienione na AFL pod koniec 2008 roku, aby zapobiec zmuszaniu deweloperów zewnętrznych do zmuszania do wydania kodu źródłowego prac podrzędnych (nierozproszonych). Ref: magentocommerce.com/boards/viewthread/21377
davidalger
2
Roy Rubin świetnie napisał, dlaczego AFL vs. OSL - zobacz jego komentarz po wpisie na blogu: fabrizioballiano.net/2008/02/27/...
philwinkle
Bardzo dobry link… Nigdy wcześniej nie widziałem tego posta na blogu.
davidalger