LGPL do Polyform

Od LGPL do Polyform Noncommercial

Z wersji 5 zmieniliśmy licencję z LGPL na Polyform Noncommercial 1.0.0 - licencję, która pozwala tylko na użycie niekomercyjne. W połączeniu z licencją Polyform Noncommercial sprzedajemy licencje dla klientów korzystających z EPPlus w biznesie komercyjnym. Ponieważ EPPlus jest już od jakiegoś czasu, można się zastanawiać, dlaczego zdecydowaliśmy się na tę zmianę.

Historia EPPlus

Jesteśmy dwoma braćmi - Jan Källman i Mats Alm - z siedzibą w Sztokholmie w Szwecji. Jan rozpoczął EPPlus na Codeplex w 2009 roku z tego prostego powodu, że potrzebował biblioteki arkuszy kalkulacyjnych w projekcie, nad którym pracował i tak naprawdę nie było nic dostępnego w tym czasie z wystarczającą wydajnością i funkcjonalnością. Po pewnym czasie Mats dołączył i zaczęliśmy budować go razem, głównie dla zabawy.

Nigdy nie sprzedawaliśmy EPPlus, ale i tak zaczął rozprzestrzeniać się w społeczności .NET. Gdzieś około 2014 był to najczęściej pobierany pakiet arkusza kalkulacyjnego na Nuget. W 2019 roku miał ponad 6,5 miliona pobrań i był jednym z 100 najczęściej pobieranych pakietów, nieźle jak na projekt hobbystyczny!

Wyzwania

Cała nasza praca z biblioteką musiała być wykonana w wolnym czasie (weekendy, święta, wieczory / noce) i z różnych powodów mieliśmy mniej czasu, aby spędzić na nim ostatnie lata. W tym samym czasie wykorzystanie EPPlus gwałtownie wzrosło, a po przejściu do github, liczba problemów i żądań ciągnięcia również gwałtownie wzrosła. Żądania ściągnięcia są świetne, mogą być jednak nieco trudne do obsługi, ponieważ części biblioteki mają słaby zasięg testu i nie jest to łatwe dla kogoś, kto nie jest w pełni zaznajomiony z kodem, aby zrozumieć wszystkie skutki uboczne, które może spowodować. Problemy / pytania od użytkowników zaczęły piętrzą się i trudno było wiedzieć, nawet od czego zacząć mając tylko kilka godzin od czasu do czasu.

Niektóre z kodu w EPPlus ma 10 lat i wymaga refaktoryzacji / przeprojektowania i lepszego pokrycia testu. W tym samym czasie wprowadzono nowe wersje programu Excel, .NET Framework/Standard/Core i więcej pracy potrzebne tylko, aby nadążyć za tym.

Nie była to dobra sytuacja ani dla nas, ani dla użytkowników EPPlus.

Pod koniec 2018 roku doszliśmy do punktu, w którym musieliśmy zdecydować, co zrobić z projektem.

Oprogramowanie EPPlus

Założyliśmy EPPlus Software, aby móc pracować w pełnym wymiarze godzin z EPPlus i jesteśmy przekonani, że doprowadzi to do znacznie lepszego produktu w dłuższej perspektywie.

Obecnie wydajemy EPPlus 5, pierwszą główną wersję w nowym modelu licencji. EPPlus 5 jest wynikiem procesu, w którym współpracowaliśmy z prawnikami, aby zapewnić, że możemy legalnie zmienić licencję. Ale wdrożyliśmy również wiele nowych funkcji, rozwiązaliśmy wiele problemów z EPPlus 4 i poprawiliśmy kod z poprzednich wersji.

Co się dzieje z EPPlus 4?

EPPlus 4 jest nadal (i zawsze będzie) licencjonowany pod LGPL. Możesz oczywiście nadal korzystać z EPPlus 4 i poprzednich wersji i nadal możesz je zainstalować za pośrednictwem Nuget.

                    
 PM> Install-Package EPPlus -Version 4.5.3.3 
                    
                

Kod do EPPlus 4 pozostanie na Jan Källmans repozytorium github i może być rozwidlony / używany zgodnie z licencją LGPL.

Skupimy się jednak na wersji 5 w przyszłości.

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

Nowy model licencji

EPPlus 5 jest licencjonowany na licencji Polyform Noncommercial 1.0.0. Przeczytaj więcej na ten temat tutaj.

Przyszły sposób pracy

Chcemy zachować sposób pracy w społeczności. W przeciwieństwie do innych komercyjnych alternatyw, nasz kod będzie nadal w pełni dostępny i otwarty. Nie będzie żadnych kluczy licencji specyficzne dla użytkownika, aby ustawić w kodzie, tylko LicenseContext właściwość, która musi być ustawiona w trybie debugowania, aby użytkownicy świadomi nowej licencji. Kod dla EPPlus 5, nowych przykładowych projektów i wiki przeniósł się do konta GITHUB EPPlus Software.

Witamy w programie EPPlus Software!