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

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

Předpoklady

  1. Budu používat slova "programu" a "software" zaměnitelně.
  2. Když jsem se odkazovat na source operační systém otevřené (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 dostupné pro každého pouze. Ale víš co? Mýlí se. Toto není celý správná definice Open Source. Existuje několik dalších kritérií , která by měla být spokojení, než budeme moci říkat něco jako Open Source software.

Znamená Open Source znamená, že musím používat GPL licencí?
Noways. Jakmile víte, že váš program je Open Source, musíte se rozhodnout, vhodný licenci na to na základě vaší strategie (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 typu Open Source licencí, i když je to jeden z nejoblíbenějších licencí v open source komunitě.

Mohu prodat své open source program?
Ano. Neexistuje žádné omezení, kolik si můžete účtovat za svůj open source program, který jste vytvořili. Tak například, že jste se rozhodli zvolit GPL licencí 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 (v souvislosti s zdrojového kódu), k tomu, který jsem si, že je už docela zřejmé. Definice svobodného softwaru (= Open Source Software), zahrnuje právo prodávat své kopie programu.

Musím uvolnit zdrojový kód, když jsem se prodat svůj program (Open Source nebo zavřené / proprietární)?
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 Open Source programů. V tomto případě se jedná o uzavřený / proprietární software tak dlouho, dokud není "odvozena" od druhého programu. Budeme se dostat do problematiky, co se považuje za "odvozený", později jako to není vhodné 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 kompilovat pomocí GCC kompilátor, pak váš výsledný binární / programu (test) může být nazýván proprietární software a můžete prodat veřejnosti bez uvolnění zdrojového kódu, pokud jsou splněny následující podmínky:

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

2. Váš program není odvozen z jakéhokoliv GPL licencí na bázi 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 je například, GPL. Předpokládejme, že se rozhodnete vybrat GPL licencí pro váš test.c programu. Nyní můžete ještě prodat svůj binárku za poplatek / poplatek, ale zároveň je nutné uvolnit zdrojový kód i spolu s binárního souboru. To je důvod, proč se tomu říká Open Source.

Kromě toho 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 těžce použít kód s licencí GPL knihovny v test.c programu. Pak by ve výchozím nastavení bude tento program (test.c) musí být považovány za odvozena software, a budete muset použít GPL licencí pro váš program a uznáváte, že jste použili kód z tak-and-so knihovny a.ka. "virový 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 ji distribuovat veřejnosti pod licencí GPL .

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

Je jasné, pro mě, co představuje jako odvozený software? Je to matoucí. Je nějaká jiná lepší řešení?
Bohužel neexistuje žádný univerzální shoda o tom, 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 licenci knihovnu, která je známá také jako méně GPL, která je více jako permisivní / proprietární licencí. Před chápeme hlavní rozdíl mezi LGPL a GPL je nutné pochopit, co je považována za "odvozený".

Někteří lidé v komunitě se domnívají, že pokud váš program dynamicky odkazy na softwarové knihovny pak váš program nemůže být označován jako "odvozený" software. Ale pokud staticky propojit softwarové knihovny do svého programu, pak se nazývá "odvozený" software, a proto není možné tvrdit, úplně jako svůj vlastní software. Avšak pro knihovny, které jsou založeny na GPL licencí někteří lidé zvažují i ​​dynamicky propojení do svého programu (test.c) jako i na "odvozené" softwaru.

Řešení - LGPL
Tak, aby zůstali daleko od těchto dvojznačnosti, existuje celá řada knihoven, které jsou nyní vydány pod Malou-GPL (LGPL) licence. To znamená, že můžete propojit na ty knihovny (staticky nebo dynamicky) k programu (test.c) a můžete ještě zvolit, aby váš kód proprietární (closed-source program). I když bude třeba, aby propustila všechny změny, které by vás mohly skončit-up, aby se jimi LGPL knihovny kódu v test.c programu.

Například knihovna GNU C je uvolněn 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 se dalo chtěli vydat knihovny pod licencí GNU GPL a ne LGPL

Proto je velmi důležité, že jste se rozhodli typ licence (ř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, když uvolnit svůj program pod GPL licencí (se zdrojovým kódem)? Není to paradox?
Víš, co jsem se 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 tohle všechno. Ve skutečnosti existují reálné životní příklady, kde byli lidé dě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 uvolnit software pro své zákazníky pod licencí GNU GPL, že by ještě přijde ke mně na výrobu nějaké změny / úpravy na ten kus softwaru, i když mají zdrojový kód pro něj. Samozřejmě, že zákazník by to mohl udělat sám / sama, nebo může najmout programátora, ale tam bude hodně přes hlavu nákladů souvisejících v tom, že stejně jako například poznávání kus softwaru, seznámení se s knihovnami, atd. Někdo má dělat práci (provádění změn / úpravy), tak proč ne původní osoba / společnost, která to.

Myslím si, že tato položka blogu je již dlouhá, tak bych chtěl, aby to skončí tady. V budoucnu, pokud udělat nějaký další výzkum na toto téma, nebo-li získat další informace o tom, budu poslat ho 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!