Esiste un termine per software proprietario quasi open source?

7

Supponiamo che una società desideri mantenere lo sviluppo di nuove funzionalità di un software interno, ma desidera rendere pubblico il codice sorgente per le versioni precedenti, incluse le funzionalità pubbliche esistenti, in modo che altre persone possano trarre vantaggio dall'uso e dalla modifica il software stesso e forse anche contribuire a modifiche che possono essere applicate al ramo di sviluppo.

Esiste un termine per questo tipo di accordo e qual è il modo migliore per farlo utilizzando gli strumenti e le piattaforme di controllo delle versioni esistenti?

    
posta mwhite 03.04.2012 - 23:42
fonte

6 risposte

4

Non conosco il nome ma per l'implementazione dopo l'installazione potrebbe funzionare:

Crea due repository su github (sostituisci con qualsiasi altra piattaforma che faccia lo stesso), uno pubblico, uno privato. Mantieni l'ultima versione X in privato e v.X-1 su quella pubblica. Quando rilasci una nuova versione, aggiorna quella pubblica da quella privata. In questo modo sarai in grado di usare facilmente il controllo di versione e anche consentire agli utenti di repo pubblico di inviarti i loro contributi tramite richieste di pull, e quindi di fonderli a repository privati, inviare problemi, ecc. Ciò ti darà anche il opzioni per consentire agli utenti pagati di fare lo stesso per il tuo codice privato - dare loro l'accesso di sola lettura o anche di lettura-scrittura.

    
risposta data 04.04.2012 - 01:03
fonte
5

Sembra Shared Source che è un termine usato da Microsoft per descrivere il modo in cui consentono ai clienti di ottenere una copia del loro codice sorgente per ragioni come controllo di sicurezza o riferimento. Microsoft mantiene il pieno controllo del codebase per nuovi sviluppi.

The licenses associated with the offerings range from being closed-source, allowing only viewing of the code for reference, to allowing it to be modified and redistributed for both commercial and non-commercial purposes.

    
risposta data 04.04.2012 - 04:35
fonte
2

Non conosco un termine per questo.

Forse dovrebbe essere chiamato il modello della porta della stalla padlocked. Invece di "chiudere la porta della stalla dopo che il cavallo è scappato" (cioè, cercando di riguadagnare l'esclusività dopo aver rilasciato un software con una licenza troppo liberale), chiudi il lucchetto della porta della stalla e sperare che il cavallo non muoia di fame nella stalla. : -)

Seriamente però, se la direzione dell'azienda ritiene che questo sia necessario per fare soldi con l'open source, non si può davvero discutere. Dopotutto, sono responsabili della gestione dell'investimento in risorse che stanno facendo.

Tuttavia questo non è un modello che è buono per il cliente pagante. (Se il cliente non può ottenere il codice sorgente per la versione premium in cui è in esecuzione, a che punto è pagare il premio?) È improbabile che possa incoraggiare i contributi della comunità degli utenti, e sta per rendere tali contributi di meno valore ... perché saranno sempre contro una vecchia versione del codebase. In effetti, potresti sostenere che è più probabile incoraggiare la biforcazione.

    
risposta data 04.04.2012 - 01:55
fonte
2

Credo che il termine sia dual-licensing . (o multi-licenza )

La parte del progetto che desideri venga fatto alle persone con te rilascia sotto, ad esempio, la LGPL che consente di chiamare il materiale proprietario. Il porto del progetto che vuoi tenere sotto il tuo pollice è un software proprietario per la vendita.

    
risposta data 04.04.2012 - 18:33
fonte
1

Questo modello è piuttosto frequente nel settore. Un esempio è quando un prodotto è disponibile come edizione della comunità e come edizione aziendale. In genere, l'edizione community è disponibile gratuitamente e può anche essere un software libero / open source e in genere manca di alcune funzionalità commercializzate come necessarie solo agli utenti aziendali. L'edizione aziendale è solitamente disponibile acquistando una licenza commerciale e può essere opzionalmente fornita in bundle con un pacchetto di supporto, aggiornamenti software integrati, più funzionalità o condizioni di utilizzo più permissive. Questo modello può essere visto in molte forme e variazioni nel mercato. Un esempio è la piattaforma Eclipse rispetto ai prodotti commerciali basati su di essa, come il client Lotus di IBM. Un altro esempio è l'inizio di ciò che è ora noto come Mozilla Firefox, che è iniziato come Netscape Browser rispetto a Mozilla Browser. E l'elenco può continuare.

Un altro approccio consiste nel separare il prodotto in due prodotti autonomi separati. Questo è adatto per i grandi progetti che sono composti da molti sotto-progetti più piccoli. Un esempio è Fedora Linux vs Red Hat Enterprise Linux o OpenSuse vs Suse Linux Enterprise edizioni.

    
risposta data 04.04.2012 - 11:06
fonte
0

Se tutto il codice è di tua proprietà, puoi fare affidamento come ritieni opportuno. Se qualcun altro ha contribuito al codice che vuoi chiudere, devi assolutamente ottenere il loro permesso o convincerli a firmare il copyright su di te. Per quanto riguarda un nome, non conosco uno standard, forse una doppia licenza? Penso che MySQL sia nella stessa posizione e forse QT?

    
risposta data 04.04.2012 - 13:13
fonte

Leggi altre domande sui tag