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 dovevamo decidere cosa fare con il progetto.

EPPlus Software

Abbiamo fondato EPPlus Software per poter lavorare a tempo pieno con EPPlus e questo ha portato ad un prodotto molto migliore che continuerà a migliorare nel tempo

All'inizio del 2020 abbiamo rilasciato EPPlus 5, la prima versione principale con il nuovo modello di licenza, seguita da EPPlus 6 nell'aprile 2022 e EPPlus 7 nell'ottobre 2023. Le nuove versioni sono il risultato di un processo in cui abbiamo lavorato con gli avvocati per assicurarci di poter cambiare legalmente la licenza. Ma abbiamo anche implementato molte nuove funzionalità, risolto molti problemi di EPPlus 4 e migliorato il codice rispetto alle versioni precedenti.

Cosa succede con EPPlus 4?

EPPlus 4 è ancora (e sarà sempre) concesso in licenza sotto LGPL. Naturalmente puoi continuare a utilizzare EPPlus 4 e versioni precedenti e puoi comunque installarle tramite Nuget (queste versioni sono contrassegnate come deprecate e non sono più gestite da noi).

                    
 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 focus, tuttavia, sarà sulla versione 5 e su in futuro.

Il nuovo modello di licenza

EPPlus 5 e versioni successive sono concessi in licenza sotto la licenza Polyform Noncommercial 1.0.0. Leggi di più su di esso qui.

Modo di lavorare futuro

Vogliamo mantenere il modo di lavorare guidato dalla comunità. 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, ma solo una proprietà LicenseContext che deve essere impostata in modalità di debug per rendere gli utenti consapevoli della nuova licenza. Il codice per EPPlus 5/6/7, i nuovi progetti di esempio e il wiki è stato spostato nell'account github di EPPlus Software.

EPPlus Newsletter

Iscriviti alla nostra newsletter per ricevere gli ultimi aggiornamenti da EPPlus Software

Benvenuti su EPPlus Software!