Nedávno jsem byl výzkum na open source licenčních otázek. Než jsem začal výzkum jsem měl velmi malou představu o skutečném významu Open Source i když jsem používal Linux (open source OS) pro více než 4 roky!

Musíte se ptát, proč byste si měli přečíst tohle? Na základě mých zkušeností existuje spousta zdrojů, které jsou k dispozici na internetu, který bude mluvit o těchto otázkách, ale žádný z nich začít od základní úrovně, tj. z úrovně, kde i začátečník IT člověk může pochopit, co se děje.

Již od technické vzdělání, jsem chtěl začít s velmi základní a pak stavět na téma, aby se ujistil, že chápu, většina detailů - malé / velké.

Předpoklady

  1. Budu používat slovo "program" a "software" zaměnitelně.
  2. Když jsem se odkazovat na open source operační systém (OS), jsem obvykle na mysli OS Linux.

Co myslíš tím, Open Source?
Vlastně mnoho lidí si myslí, že Open Source znamená pouze to, že zdrojový kód by měl být otevřený, tj. k dispozici všem. Ale víš co? Mýlí se. To není celá správné definice Open Source. Existuje několik dalších kritérií , které by měly být splněny před tím, než mohou volat něco jako Open Source software.

Má Open Source znamená, že musím použít GPL licenci?
Noways. Jakmile víte, že váš program je Open Source, musíte se rozhodnout, vhodnou licenci k ní na základě vaší strategii (pokud jste firma), využívání a knihovny (pokud existuje), který jste použili napsat svůj program. GPL je jen jedním z několika typu Open Source licencí, i když je to jeden z nejoblíbenějších licencích Open Source komunity.

Mohu prodat své open source program?
Ano. Neexistuje žádné omezení, kolik si můžete účtovat za své open source program, který jste vyvinuté. Tak například, že se rozhodnete vybrat si licenci GPL pro váš open source program a chcete jej prodat, podle podmínek licencí GPL můžete prodat i když je jedna výjimka (vztaženo ke zdrojovému kódu), k tomu, který je podle mě docela zřejmé hned. Definice svobodného softwaru (Open Source Software =) obsahuje právo prodat své kopie programu.

Musím uvolnit zdrojový kód, když jsem se prodat svůj program (Open Source uzavrených / Proprietary)?
Ve skutečnosti to může být trochu matoucí, takže jsem se zase začít od velmi základní úrovni.

Obvykle, pokud nechcete, aby se uvolnil zdrojový kód pro veřejnost pak váš program není technicky Open Source programu. V tomto případě se jedná o uzavřený / proprietární software tak dlouho, dokud není "odvozený" z druhého programu. Dostaneme se do problematiky, co se považuje za "odvozený", později jako to není vhodné konsensus týkající se tohoto.

Tak například, pokud používáte Debian nebo Ubuntu Linux OS a vy se rozhodnete napsat jednoduchý program (test.c) v jazyce C pomocí editoru, jako je vi nebo emacs a zkompilovat pomocí kompilátoru GCC, pak se váš výsledný binární / programu (test) může být nazýván proprietární software a můžete ho prodat veřejnosti bez uvolnění zdrojového kódu tak dlouho, dokud jsou splněny následující podmínky:

1.. Váš program není přímo zahrnuje jakékoli části GPL licencovaný software / knihovnu.

2.. Váš program není odvozen z jakéhokoliv GPL licencí založený software / knihovnu.

Nicméně, v tomto okamžiku se můžete rozhodnout, aby se váš software s otevřeným zdrojovým přijetím jakékoliv open source licencí, jako např. GPL,. Předpokládejme, že se rozhodnete vybrat si GPL licenci pro test.c programu. Nyní můžete ještě prodat svůj binární za poplatek / poplatek, ale zároveň musíte uvolnit zdrojový kód také spolu s binární soubor. To je důvod, proč se to jmenuje Open Source.

Kromě toho by měl mít na paměti, že někdy volba licence není založen výhradně na nás. Předpokládejme například, že jste silně použít kód GPL licencí knihovně ve vašem test.c programu. Pak se ve výchozím nastavení bude tento program (test.c) považovat za odvozené softwaru a budete muset použít GPL licenci pro program a uznáváte, že jste použili kód z tak-a-tak knihovny a.ka. "virální efekt" GPL. Stále můžete prodávat tento software (test.c), ale teď jste povinen uvolnit zdrojový kód spolu s binární pokud se rozhodnete distribuovat veřejnosti pod licencí GPL .

Nyní se můžete zeptat, co když nemám v úmyslu jej šířit a prostě si to pro sebe nebo pro své organizaci. Musím ještě uvolnit zdrojový kód, protože jsem použil spoustu kódu z GPL na bázi knihovně?
Ne vůbec v tomto případě nejste povinni uvolnit zdrojový kód a vy se rozhodnete něco udělat s vaším softwarem (test.c) interně.

To není jasné, co představuje jako odvozené software? Je to matoucí. Je nějaká jiná lepší řešení?
Bohužel neexistuje žádný univerzální shoda, co se dá nazvat jako odvozené software. Naštěstí existuje lepší řešení, které bude držet co nejdál od porušení jakékoliv licenční smlouvy - používat licencovanou LGPL knihovnu, která je také známý jako méně GPL, která je spíš tolerantní / proprietární licencí. Předtím, než se pochopit hlavní rozdíl mezi LGPL a GPL je třeba pochopit, co se považuje za "odvozený".

Někteří lidé ve společnosti věří, že pokud váš program dynamicky odkazy na knihovny softwaru pak váš program nemůže být označován jako "odvozené" softwaru. Ale pokud staticky propojit softwarové knihovny do programu, pak se nazývá "odvozené" software, a proto nemůžete tvrdit, zcela jako svůj vlastní software. Nicméně pro knihovny, které jsou založeny na GPL licencí považují někteří lidé dokonce dynamicky propojení vašeho programu (test.c) a také "odvozené" software.

Řešení - LGPL
Tak, aby zůstali daleko od těchto nejasností, tam jsou četné knihovny, které jsou nyní vydány pod GPL (méně LGPL) licence. To znamená, že můžete propojit na ty knihovny (statické nebo dynamické) do svého programu (test.c), a stále můžete zvolit, aby se vaše vlastní kód (closed-source program). I když bude zapotřebí, aby propustila všechny změny, které byste mohli skončit-up dělat kódu knihovny LGPL ve vašem test.c programu.

Například GNU C knihovna je uvolněn pod licencí LGPL, a to je důvod, proč je tak populární a rozšířené. Ve skutečnosti je většina open-source softwarové knihovny šířen pod licencí LGPL. Existují však důvody, pro které bychom chtěli vydat knihovnu pod licencí GNU GPL, nikoli LGPL

Proto je velmi důležité, že se rozhodnete, jaký typ licencí (řekněme například GPL nebo LGPL), knihovny, kterou by chtěl použít ve svém programu v závislosti na vaší strategii.

Jak mohu vydělat peníze, pokud vydám svůj program pod GPL licencí (se zdrojovým kódem)? Není to paradox?
Víš, co jsem vám také přesně použít myslet totéž, a to byl jeden z hlavních důvodů, proč jsem chtěl udělat nějaký výzkum na toto všechno. Ve skutečnosti existují reálné životní příklady, kdy lidé byli vydělávání peněz i po uvolnění jejich software pod GPL licencí pro více než 10 let.

Myslím, že jedním z hlavních důvodů, za to je jednoduchý ekonomický / obchodní princip náklady příležitosti času . Například, i když jsem se uvolnit software pro mého zákazníka pod licencí GNU GPL, byly by stále ještě přijít ke mně, že některé změny / přizpůsobení tohoto kusu software, i když mají zdrojový kód pro něj. Samozřejmě, že zákazník by to mohl udělat sám / sebe nebo mohou najmout programátora, ale tam bude hodně přes hlavu náklady spojené v tom, že stejně jako například poznávání kus softwaru, seznámení s knihovnami, atd. Někdo musí dělat práci (provedení změn / Přizpůsobení), tak proč ne původní osoba / společnost, která to.

Myslím, že to blogu je již dlouhý, takže bych chtěl skončit tady. V budoucnu, pokud to nějaký další výzkum na toto téma, nebo jestli jsem získat více informací o ní budu psát do nového blogu.

Prosím, zanechte komentář, pokud máte nějaké dotazy nebo připomínky.

Díky za pobyt tak dlouho!

Být společenský, Share!