Nedávno jsem byl výzkum na Open Source otázky licencí. Předtím, než jsem začal s výzkumem jsem měl velmi malou představu o skutečném smyslu Open Source, i když jsem používal Linux (open source OS) po dobu delší 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 vycházejí ze základní úrovně, tj. z úrovně, kde může i nováček IT osoba také porozumět tomu, co se děje.

Pocházející z inženýrské pozadí, bych začít s velmi základní a pak stavět na téma, aby se ujistil, že chápu, většina detailů - menší / velkých.

Předpoklady

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

Co myslíš tím, Open Source?
Ve skutečnosti mnoho lidí si myslí, že Open Source znamená, že zdrojový kód by měl být otevřený, tj. k dispozici všem jen. 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ředtím, než můžeme nazvat něco jako software Open Source.

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žití a knihovny (pokud existuje), který jste použili napsat svůj program. GPL je jen jedním z několika typů licencí open source, i když je to jeden z nejoblíbenějších licencí v Open Source komunity.

Mohu prodat své open source program?
Ano. Neexistuje žádné omezení, kolik si můžete účtovat pro Open Source program, který jste vytvořili. Tak například, že se rozhodnete vybrat si licenci GPL pro váš open source program a chcete jej prodat; Podle licenčních podmínek GPL, můžete ho prodat, i když je zde jedna výjimka (týkající se zdrojového kódu), na to, které myslím, že je teď docela zřejmé. Definice svobodného softwaru (= Open Source Software), zahrnuje právo prodávat své kopie programu.

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

Obvykle, pokud nechcete, aby se uvolnil zdrojový kód pro veřejnost pak váš program není technicky programu Open Source. V tomto případě se jedná o uzavřený / proprietární software, pokud to není "odvozený" z druhého programu. Budeme se dostat do problému, co se považuje za "odvozený", později jako to není správné shoda, pokud jde o toto.

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 to kompilovat pomocí gcc, pak se váš výsledný binární / programu (test) mohou být volány Proprietární software a můžete ho prodat na veřejnosti, aniž by uvolnění zdrojového kódu, pokud jsou splněny následující podmínky:

1. Váš program není vybaven přímo žádnou část GPL licencí software / knihovny.

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

Nicméně, v tomto okamžiku se můžete rozhodnout, aby se váš software Open Source přijetím žádnou licenci Open Source, jako například GPL. Předpokládejme, že jste se rozhodli vybrat GPL licenci pro vaši test.c programu. Nyní můžete ještě prodat svůj binárku za poplatek / poplatek, ale zároveň musíte uvolnit zdrojový kód také spolu s binárním souborem. To je důvod, proč se jmenuje Open Source.

Navíc je třeba 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 s licencí GPL knihovny v test.c programu. Pak se ve výchozím nastavení bude tento program (test.c) považovat za odvozené software a budete muset použít GPL licenci pro program a potvrzujete, že jste použili kód z tak-a-tak knihovna 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 ho redistribuovat a prostě si to pro sebe nebo pro své organizaci. Mám ještě uvolnit zdrojový kód, protože jsem použil spoustu kódu z knihovny GPL bázi?
Ne vůbec v tomto případě, že nejste povinen uvolnit zdrojový kód a vy se rozhodnete něco udělat s vaším softwarem (test.c) interně.

Je jasné, pro mě, co je jako odvozené software? Je to matoucí. Je nějaká jiná lepší řešení?
Bohužel neexistuje žádný univerzální shoda, co lze 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 LGPL licencí knihovnu, která je také známý jako Malé-GPL, která je spíš jako permisivní / proprietární licencí. Předtím, než jsme pochopili, hlavní rozdíl mezi LGPL a GPL je nutné pochopit, co je považována za "odvozený".

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

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

Například knihovna GNU C je šířen pod licencí LGPL, a to je důvod, proč je tak populární a rozšířené. Ve skutečnosti většina softwarových knihoven open-source je šířen pod licencí LGPL. Existují však důvody , pro které by člověk chtěl uvolnit knihovny pod GPL, nikoli LGPL

Proto je velmi důležité, že jste se rozhodli typ licencí (řekněme např. GPL nebo LGPL) knihovny, které byste chtěli použít ve svém programu v závislosti na vaší strategii.

Jak mohu vydělat peníze, když uvolníte svůj program pod GPL licencí (se zdrojovým kódem)? Není to paradox?
Víš, co jsem 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í skutečné životní příklady, kdy byli lidé vydělat peníze 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ákladů obětované příležitosti času . Například, i když jsem se uvolnit software pro mého zákazníka pod licencí GNU GPL, které by ještě přijít ke mně dělat nějaké změny / úpravy tohoto kusu software, i když mají zdrojový kód pro něj. Samozřejmě, že zákazník by to udělat sám / sama, nebo může najmout programátora, ale tam bude hodně nad cenou hlavy spojené v tom, že stejně jako například, jak poznat kus softwaru, seznámení s knihovnami, atd. Někdo musí dělat práci, (dělat změny / úpravy), takže proč ne původní osoba / společnost, která dělal to.

Myslím, že to blogu je již dlouhá, takže bych rád, aby to skončí tady. V budoucnu, pokud to nějaký další výzkum na toto téma, nebo-li získat další informace o tom, budu psát do nového blogu.

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

Díky za pobyt tak dlouho!

Být společenský, Share!