Da LGPL a Poliforme

Da LGPL a Polyform Noncommercial

Dalla versione 5, abbiamo cambiato la licenza da LGPL a Polyform Noncommercial 1.0.0 - una licenza che consente solo l'uso non commerciale. In combinazione con la licenza Polyform Noncommercial vendiamo licenze per i clienti che utilizzano EPPlus in un'attività commerciale. Dal momento che EPPlus è stato intorno per un po ', ci si potrebbe chiedere perché abbiamo deciso di fare questo cambiamento.

La storia dietro EPPlus

Siamo due fratelli - Jan Källman e Mats Alm - con sede a Stoccolma, Svezia. Jan ha iniziato EPPlus su Codeplex nel 2009 per il semplice motivo che aveva bisogno di una libreria di fogli di calcolo in un progetto a cui stava lavorando e non c'era davvero nulla disponibile al momento con prestazioni e funzionalità sufficienti. Dopo qualche tempo Mats si unì e abbiamo iniziato a costruirlo insieme, soprattutto per divertimento.

Non abbiamo mai commercializzato EPPlus, ma ha iniziato a diffondersi in tutta la comunità .NET comunque. Da qualche parte intorno al 2014 è stato il pacchetto di fogli di calcolo più scaricato su Nuget. Durante il 2019 ha avuto oltre 6,5 milioni di download ed è stato tra i primi 100 pacchetti più scaricati, non male per un progetto hobby!

Sfide

Tutto il nostro lavoro con la biblioteca doveva essere fatto sul nostro tempo libero (fine settimana, vacanze, serate / notti) e per vari motivi abbiamo avuto meno tempo da spendere su di esso negli ultimi anni. Allo stesso tempo, l'utilizzo di EPPlus è aumentato rapidamente e, dopo che ci siamo spostati a github, anche il numero di problemi e richieste pull è aumentato rapidamente. Le richieste pull sono ottime, possono tuttavia essere un po 'complicate da gestire poiché parti della libreria hanno una copertura di test scadente e non è facile per qualcuno che non ha piena familiarità con il codice comprendere tutti gli effetti collaterali che potrebbe causare. Problemi / domande da parte degli utenti hanno iniziato ad accumularsi ed era difficile sapere anche da dove iniziare ad avere solo poche ore di tanto in tanto.

Parte del codice in EPPlus ha 10 anni e necessita di refactoring/riprogettazione e migliore copertura dei test. Allo stesso tempo, sono state introdotte nuove versioni di Excel, .NET Framework/Standard/Core e più lavoro è necessario solo per tenere il passo.

Questa non era una buona situazione né per noi né per gli utenti di EPPlus.

Alla fine del 2018, abbiamo raggiunto un punto in cui abbiamo dovuto decidere cosa fare con il progetto.

EPPlus Software

Abbiamo fondato EPPlus Software per poter lavorare a tempo pieno con EPPlus e siamo convinti che questo porterà a un prodotto molto migliore a lungo termine.

Ora stiamo rilasciando EPPlus 5, la prima versione principale con il nuovo modello di licenza. EPPlus 5 è il risultato di un processo in cui abbiamo lavorato con gli avvocati per garantire che legalmente possiamo cambiare la licenza. Ma abbiamo anche implementato un sacco di nuove funzionalità, risolto molti problemi da EPPlus 4 e migliorato il codice dalle versioni precedenti.

Cosa succede con EPPlus 4?

EPPlus 4 è ancora (e sarà sempre) concesso in licenza sotto LGPL. Naturalmente è possibile continuare a utilizzare EPPlus 4 e versioni precedenti e si può ancora installare tramite Nuget.

                    
 PM> Install-Package EPPlus -Version 4.5.3.3 
                    
                

Il codice per EPPlus 4 rimarrà sul Jan Källmans repository github e può essere biforcato / utilizzato in base alla licenza LGPL.

Il nostro obiettivo, tuttavia, sarà sulla versione 5 in futuro.

Pending pull requests

If you have submitted a pull request to EPPlus 4 and think that the pull request should be applied to EPPlus 5, you need to resubmit it to our new github repo. Legally (under LGPL) the pull request is your intellectual property, not ours, and it needs to be resubmitted under our new CAA (Contributor's Assigment Agreement). For more info see CONTRIBUTING.md

Il nuovo modello di licenza

EPPlus 5 è concesso in licenza in base alla licenza Polyform Noncommercial 1.0.0. Per saperne di più su di esso qui.

Modo di lavorare futuro

Vogliamo mantenere la comunità guidata modo di lavorare. A differenza di altre alternative commerciali, il nostro codice sarà ancora completamente disponibile e aperto. Non ci saranno chiavi di licenza specifiche dell'utente da impostare nel codice, solo una proprietà LicenseContext che deve essere impostata in modalità di debug per inmodoare gli utenti della nuova licenza. Il codice per EPPlus 5, i nuovi progetti di esempio e wiki è stato spostato nell'account github di EPPlus Software.

Benvenuti su EPPlus Software!