Quali sono alcune ramificazioni del software open source che si trasforma in software closed source?


16

Se un'azienda accetta un'applicazione open source autorizzata e quindi sviluppa un'applicazione chiusa da quella rielaborando ampie parti dell'applicazione, aggiungendo nuove funzionalità e applicando correzioni di bug ...

Ignorare eventuali requisiti di licenza ...

  • Come avviene la transizione e cosa si può fare per impedirla oltre a scegliere una licenza differenza?
  • Quali sono le responsabilità (etiche o sociali) per l'azienda? (Ad esempio: restituire al progetto open source sarebbe la cosa etica da fare)
  • Se la versione open source e quella chiusa sono entrambe disponibili, in che modo la concorrenza influisce su entrambi i prodotti?

Ci sono esempi di aziende o prodotti che lo hanno fatto (con successo o senza successo) in passato? Qual era l'atteggiamento della comunità verso quei progetti?


2
Penso che .NET Reflector potrebbe essere un buon esempio di questo.
l46kok,

2
@ l46kok Ho annullato il mio voto per il tuo commento perché Reflector non è mai stato open source, solo gratuito come nella birra.
Mark Hurd,

Risposte:


14

È importante notare che questo scenario può verificarsi sia in forma legale che illegale.

Ciò può verificarsi legalmente se la società possiede o ha accesso al copyright associato al codice. Ad esempio, team di sviluppo più piccoli e indipendenti potrebbero voler vendere o concedere in licenza il proprio copyright a un'azienda più grande. Allo stesso modo, se la maggior parte del copyright del codice può essere acquisita, la parte "irraggiungibile" può essere semplicemente eliminata e riscritta.

Dall'altro lato della medaglia, il codice può essere semplicemente preso illegalmente. New Corp, Inc. potrebbe non interessarsi delle conseguenze legali. Il progetto potrebbe essere troppo vecchio o abbandonato o New Corp pensa che vinceranno in una causa. Oppure New Corp potrebbe essere registrato in un'area in cui questo tipo di "acquisizione" semplicemente non è definito illegale. Non tutte le licenze OSS sono esecutive, soprattutto non quelle che sono state messe insieme da non esperti della legge. Non tutti i proprietari di progetti potrebbero avere la possibilità di far valere i propri diritti di copyright e organizzazioni più grandi come la FSF potrebbero non essere in quella giurisdizione per tale reclamo. TL; DR: quest'area può diventare molto sfocata e brutta molto velocemente.

Transizione e prevenzione

Come avviene la transizione e cosa si può fare per impedirla oltre a scegliere una licenza differenza?

La transizione si verifica quando New Corp, Inc. acquisisce la base di codice e pone tale copia sotto il loro controllo. Gli sviluppatori di New Corp iniziano quindi a lavorare sulla loro versione della base di codice apportando le modifiche che i signori dell'azienda hanno ritenuto necessarie. La meccanica effettiva di questo fork varierà in base al repository. E mentre è un grosso problema filosofico, nella pratica è davvero deludente. get allda OpenRepos e quindi checkina PrivateRepos.

Cosa si può fare per impedire che non distribuisca mai la fonte? Niente. Scusa.

Usiamo GPL (licenza pubblica GNU) come esempio. GPL richiede che la fonte sia disponibile per chiunque riceva una copia legittima del progetto. Non esistono disposizioni che consentano al detentore della fonte di rifiutare la consegna della fonte a un legittimo detentore di una copia della domanda GPL. Va contro il grano del software libero, ed è per questo che il copyleft GPL è a posto.

Potenzialmente, hai azioni legali di fatto da perseguire. Ma quelli sono tutti dopo che la fonte è fuggita ed è stata biforcuta, non prima. E in alcune giurisdizioni non avrai alcun ricorso legale. E tutto ciò presuppone che tu sia persino consapevole che si è verificato il fork. Potresti non scoprirlo mai.

Etica

Quali sono le responsabilità (etiche o sociali) per l'azienda? (Ad esempio: restituire al progetto open source sarebbe la cosa etica da fare)

L'etica è locale per la cultura. Quindi tempera questa sezione con quel granello di sale. Una discussione completa sulla considerazione culturale dell'etica va oltre lo scopo di questa risposta e fuori tema per i programmatori.

Ho notato che la comunità di programmatori tende a reagire negativamente a un fork ostile. Diamine, in alcuni casi la stessa comunità reagisce ancora negativamente a un fork amichevole e legale. È una comunità piuttosto complessa.

Dal punto di vista FOSS, ci si aspetta che New Corp "ripaghi" la comunità per il contributo che ha investito. I termini, le condizioni e la durata di tale rimborso sono diversi quanto il numero di progetti OSS esistenti. Alcuni nella comunità (pensa Richard Stallman) non si accontenteranno mai di un progetto aperto che verrà chiuso. Altri cercheranno il beneficio fornito alla comunità in generale e giudicheranno in base a quello. E altri semplicemente non se ne cureranno perché non hanno mai saputo o curato il progetto di origine.

Disponibilità della fonte

Se la versione open source e quella chiusa sono entrambe disponibili, in che modo la concorrenza influisce su entrambi i prodotti?

Dipende davvero da quanto siano comparabili le due basi di codice per quanto riguarda funzionalità, prestazioni e stabilità.

Se le basi di codice rimangono simili e New Corp è favorevole alla comunità OSS, possono contribuire con i loro aggiornamenti al progetto di base. In questo caso, tutti ne beneficiano. In questo caso non è una "competizione", ma piuttosto una collaborazione reciprocamente vantaggiosa.

Se le basi del codice divergono selvaggiamente e New Corp non è amichevole con la comunità OSS, allora non c'è ancora concorrenza. Più prodotto ricco di funzionalità sopravvive e il prodotto meno ricco tende a morire. Si noti che ciò può andare in entrambi i modi: la versione chiusa potrebbe estinguersi se la versione open source continua a innovare o soddisfare meglio le esigenze della comunità.

La realtà sarà da qualche parte tra quelle due estremità dello spettro.

Esempio

Red Hat ha due distribuzioni principali: Enterprise Linux e Fedora. EL è la loro versione con licenza "chiusa" e Fedora è la loro edizione per la comunità. A causa della GPL, gran parte, se non tutta, dell'edizione EL viene rilasciata in formato sorgente. Un altro progetto non affiliato con Red Hat chiamato CentOS prende le modifiche a EL e lo distribuisce dopo un piccolo rebranding.

Ci sono stati alcuni brontolii quando Red Hat ha passato in due edizioni separate, ma nel complesso, è stato un accordo piuttosto fattibile. La comunità Fedora desiderava che le funzionalità venissero introdotte nella distribuzione più velocemente di quanto i clienti aziendali di Red Hat fossero a loro agio. Miglioramenti al flusso di basi di codice in entrambe le direzioni.


1
@GlenH7 Buona risposta riguardante
aspetti

1
non dimenticare che si potrebbe prendere il controllo di una base di codice e non essere consapevoli del collegamento ad alcune librerie open source che sono nascoste in profondità all'interno dei milioni di righe di codice, centinaia di pom, file di formiche, makefile, ecc. ecc. specialmente se è un collegamento indiretto. Ci è successo e ci siamo divertiti un sacco a ritagliare il codice interessato e sostituirlo con qualcosa che potevamo distribuire.
jwenting

4

Supponendo che tutto sia legale e al di sopra di tutto, e che stiamo parlando di un prodotto che ha una licenza kosher open source prima dell'avvio del processo:

Come avviene la transizione ...

Fondamentalmente, la società rilascia una nuova versione del software con la licenza non open source.

e cosa si può fare per impedirlo oltre a scegliere una licenza differenza?

In generale niente. L'unico caso in cui può essere prevenuto (o ritardato) è se ci sono più proprietari di copyright e alcuni di loro si oppongono alla nuova licenza. Ma se la società è seria, potrebbero decidere di risolvere quel problema riscrivendo le parti rilevanti della base di codice, eccetera.

Tentare di applicare la "pressione morale" prima che il fatto probabilmente non funzioni. È probabile che la società faccia questo genere di cose senza preavviso.

Detto questo, ci sono esempi in cui i tentativi di "tornare indietro" all'open source sono falliti con la società che lo sta facendo. Considera i casi di OpenOffice, Hudson e MySQL, in cui le azioni di Oracle hanno portato a un fork, un esodo di massa della comunità di sviluppatori e (per OO e MySQL) distribuzioni che scaricano sempre più il prodotto originale a favore del fork (LibreOffice e MariaDB ).

Quali sono le responsabilità (etiche o sociali) per l'azienda?

Ad essere sinceri (e in qualche modo cinici), non è rilevante ciò che tu e io pensiamo debbano essere le responsabilità etiche e sociali di un'azienda.

Dal punto di vista legale, le sole responsabilità degli amministratori e dei dirigenti della società sono 1) massimizzare il valore per gli azionisti / proprietari e 2) garantire il rispetto della legge. Si potrebbe sostenere che, come individui, queste persone hanno responsabilità sociali ed etiche, ma ... sfortunatamente ... molti di loro non sarebbero d'accordo.

Ma in entrambi i casi, le responsabilità etiche e sociali sono rilevanti in senso pratico solo se la società e i suoi funzionari le prendono a bordo e le prendono sul serio.

Se la versione open source e quella chiusa sono entrambe disponibili, in che modo la concorrenza influisce su entrambi i prodotti?

Non credo che ci sia una risposta a questo. Dipende dalle circostanze.


Ci sono esempi di aziende o prodotti che lo hanno fatto (con successo o senza successo) in passato? Qual era l'atteggiamento della comunità verso quei progetti?

Sì, ci sono esempi. Solo Google per la frase "va chiuso" e applicare un filtro di bogosity. Leggere i successi (non fasulli) ti darà un'idea dell'atteggiamento della comunità e, se cerchi ulteriori ricerche sui prodotti / aziende, puoi decidere se hanno avuto successo o meno. (Non lo farò perché "successo" è un giudizio di valore.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.