Ana içeriğe geç

Serender KKY (ERP) Lisans Beyanı ve Kullanım Şartları

Genel Beyan

Serender KKY (ERP), açık kaynak yazılım felsefesiyle geliştirilen, kurumsal kaynak planlama (ERP) altyapısı sunan bir çekirdek yazılım platformudur.
Proje, Serender KKY Topluluğu (Sanayi ve Teknoloji Bakanlığı, Teknosol, 2AG) tarafından yürütülmekte olup, yazılımın kaynak kodu GNU Lesser General Public License (LGPL) sürüm 3.0 kapsamında yayımlanmıştır.

Bu lisans, Serender KKY çekirdek ürününün özgürce kullanılabilmesini, incelenebilmesini, geliştirilmesini ve paylaşılabilmesini sağlar; ancak yazılımın lisans koşulları çerçevesinde kullanılmasını zorunlu kılar.

Kullanım ve Dağıtım Şartları (LGPL v3 Özeti)

Serender KKY (ERP), LGPL 3.0 lisansına tabidir.
Bu lisansın temel hükümleri aşağıdaki esaslara dayanır:

a) Serbest Kullanım

Kullanıcılar, Serender KKY çekirdeğini ticari veya ticari olmayan projelerinde ücretsiz olarak kullanabilirler.

b) Kaynak Kod Erişimi

Herhangi bir kullanıcı, LGPL lisansı gereği yazılımın kaynak koduna erişebilir, inceleyebilir ve kendi projelerinde kullanabilir.

c) Değişiklik ve Katkı

Kullanıcılar, Serender KKY çekirdeğinde değişiklik yapabilir veya yeni özellikler ekleyebilir.
Ancak yapılan değişiklikler veya türetilmiş sürümler aynı LGPL 3.0 lisansı altında yayımlanmalıdır.

d) Kütüphane Olarak Kullanım

Serender KKY çekirdeği, başka yazılımlara bağımsız bir kütüphane (library) olarak entegre edilebilir.
Bu durumda, çekirdeği kullanan yazılımın tamamının açık kaynak olması gerekmez; yalnızca çekirdek kısmında yapılan değişiklikler LGPL lisansına tabi olur.

e) Lisansın Devamı

Her kullanıcı, yazılımı kullanmakla birlikte LGPL 3.0 hükümlerini kabul etmiş sayılır.
Lisansın tam metni GNU tarafından yayımlanan resmi sürümde incelenebilir: https://www.gnu.org/licenses/lgpl-3.0.html

Ticari Ürünlerle Birlikte Kullanım İlkeleri

Serender KKY Topluluğu (Sanayi ve Teknoloji Bakanlığı, Teknosol, 2AG) açık kaynak ekosistemiyle ticari ürünlerin birlikte gelişebileceği bir yapıyı benimsemektedir.

a) Ticari Ürünlerde Kullanım

Serender KKY çekirdeği, ticari ERP çözümlerinin temel altyapısı olarak kullanılabilir.
Ticari yazılım geliştiricileri, çekirdeği bağımsız bir kütüphane olarak entegre ettikleri sürece ürünlerini kapalı kaynak olarak lisanslayabilirler.

b) Değişikliklerin Paylaşımı

Eğer ticari bir yazılım geliştiricisi, çekirdeğin kendisinde değişiklik yaparsa, yapılan değişikliklerin kaynak kodu açık olarak paylaşılmalıdır.
Ancak çekirdeğin üzerinde çalışan yeni modüller, eklentiler veya servisler ticari lisans altında dağıtılabilir.

c) Marka ve İtibar Kullanımı

Serender KKY markası, Serender KKY Topluluğu (Sanayi ve Teknoloji Bakanlığı, Teknosol, 2AG)'ye aittir.
Açık kaynak sürümünü kullanan veya genişleten üçüncü taraflar, yazılımın ismini veya logosunu Serender Yazılım'ın önceden yazılı izni olmadan ticari tanıtım materyallerinde kullanamaz.

d) Lisans Uyumluluğu

Serender KKY (ERP) projesine katkıda bulunan her geliştirici, katkısını gönderirken Katılımcı Lisans Sözleşmesi (CLA) hükümlerini kabul etmiş sayılır.
Bu sözleşme, projede kullanılan tüm kodların lisans uyumluluğunu garanti altına alır.

Yasal Uyarı

Serender KKY (ERP), "AS-IS" (olduğu gibi) sağlanmaktadır.
Serender KKY Topluluğu (Sanayi ve Teknoloji Bakanlığı, Teknosol, 2AG) yazılımın belirli bir amaca uygunluğu, hatasızlığı veya kesintisiz çalışması konusunda herhangi bir garanti veya taahhüt vermez.
Kullanıcı, yazılımı kullanmakla birlikte bu koşulları kabul etmiş sayılır.

İhlal Bildirimi

Serender KKY (ERP) lisans koşullarının ihlali durumunda, proje yöneticileri ve topluluk üyeleri durumu değerlendirir ve gerekirse lisansın iptali veya hukuki süreç başlatılabilir.

Bir lisansın hükümlerini anlamadan yazılımı kullanmak veya entegre etmek, farkında olmadan lisans ihlali oluşturabilir.

Lisans ihlalleri, ihlalin niteliğine göre farklı sonuçlar doğurabilir:

  • Hukuki yaptırımlar: Telif hakkı ihlali davaları, maddi tazminatlar veya cezai süreçler.
  • Erişim kısıtlamaları: Yazılım güncellemeleri, güvenlik yamaları veya topluluk desteğine erişimin kaybedilmesi.
  • İtibar kaybı: Kurumsal güvenilirliğin zedelenmesi ve iş ortaklarının güveninin azalması.

Ayrıca, açık kaynak topluluklarında lisans ihlalleri; projenin saygınlığına, katkı kültürüne ve sürdürülebilirliğine zarar verebilir.

📩 Lisans ihlali tespit ettiğinizi düşünüyorsanız, lütfen Serender KKY Topluluğu (Sanayi ve Teknoloji Bakanlığı, Teknosol, 2AG) ile iletişime geçin.

SSS (Sıkça Sorulan Sorular)

Soru: Serender ERP çekirdeği lisanslaması nedir?

Cevap: Serender ERP çekirdeğini LGPL 3.0 ile yayınladı. Böylece

•Herkes çekirdeği kütüphane olarak kullanabilir.

•Ama biri çekirdek kodu değiştirirse, o değişiklikleri yeniden açık kaynak olarak paylaşmak zorundadır.

•Ticari ERP yapan bir firma, çekirdeğe dokunmadan sadece "dinamik bağlantı" (ör. DLL, NuGet, API) üzerinden kendi modülünü bağlarsa, kapalı kaynak kalabilir.

Soru: Başkası Serender ERP çekirdeğini alıp kendi ERP'sini yapabilir mi?

Cevap: Sadece LGPL şartlarına uyarak (çekirdek açık kalmalı)

Soru: Serender ERP çekirdeğini üzerine yazılan Ticari modül kapalı kalabilir mi?

Cevap: Evet, çekirdek açık ama modüller kapalı kalabilir

Soru: LGPL 3.0 lisanslama modelinde, Kod kullanılabilir ama kütüphane olarak entegre edilmesi gerekir. Açıklaması nedir?

Cevap: Başka biri Serender açık kaynak ERP çekirdeğini kendi kapalı kaynak ürününe gömemez ama bağlanarak (linking) kullanabilir anlamına gelir.

"Kütüphane olarak entegre etmek" ne demek? Şimdi bunu basit, teknik ve ERP'ye özel örneklerle açıklarsak:

Bir yazılım başka bir yazılımı iki şekilde kullanabilir:

Entegrasyon tipi Ne olur LGPL'ye göre durum
Statik Link (Static Linking) Çekirdek kod, diğer yazılımın içine gömülür (compile edilir). ❌ Yasak. Çünkü çekirdek kod artık kapalı ürünün içinde, kullanıcı onu ayıramaz.
Dinamik Link (Dynamic Linking) Çekirdek, ayrı bir dosya (DLL, .so, NuGet, API) olarak kalır. Diğer yazılım sadece bağlantı kurar. ✅ Serbest. Çünkü kullanıcı isterse bu çekirdeği değiştirebilir, kendi sürümüyle değiştirebilir.

ERP Örneğiyle Açıklayalım

Çekirdek Serender Projesi:

• Serender.Core → LGPL 3.0 lisanslı çekirdek.

İçinde kullanıcı yönetimi, yetkilendirme, çoklu dil desteği vb. var.

Serender Ticari Ürün:

• Serender.Enterprise → Serender ücretli ERP sürümün (kapalı kaynak).

________________

🚫 Statik Link (Yasak)

Diyelim ki ticari ürününde şu şekilde derliyorsun:

Referans:

referance
<ItemGroup>
  <ProjectReference Include="..\Serender.Core\Serender.Core.csproj" />
</ItemGroup>

Kullanım:

using Serender.Core;

public class SalesModule
{
    public void DoWork()
    {
        var svc = new AuthorizationService();
        // çekirdek sınıflarına doğrudan referans
    }
}

Ve bu kod compile olurken Serender.Core'un kaynak kodunu da kendi içine dahil ediyor (örneğin .dll dosyasını değil, .cs kodunu gömüyor).

Bu durumda LGPL diyor ki:

"Sen çekirdeği içine gömmüşsün.

Artık kullanıcı çekirdek kodunu değiştiremiyor.

O zaman sen de bu kodu açık kaynak olarak yayınlamak zorundasın."

Yani, kapalı ürünün LGPL kodla statik olarak birleşirse, senin de kodun açılmak zorunda.

________________

✅ Dinamik Link (Serbest)

Ama sen ticari ürünü şöyle inşa edersen:

// Serender.Enterprise

<ItemGroup>
  <PackageReference Include="Serender.Core" Version="1.2.3" />
  <PackageReference Include="Serilog.Enrichers.Thread" Version="3.1.0" />
</ItemGroup>

using Serender.Core;

public class AppStartup
{
    public void Configure()
    {
        var core = CoreFactory.Create();
        core.Initialize();
    }
}
ve çekirdek kodu ayrı bir Serender.Core.dll olarak dışarıda tutarsan,

kullanıcı isterse kendi Serender.Core sürümünü oraya koyabilir.

Bu durumda:

•Çekirdek LGPL lisanslı kalır.

•Senin ticari kodun kapalı kalabilir.

İşte "kütüphane olarak entegre etmek" tam olarak bu:

LGPL kodu ayrı bir kütüphane (library) olarak dışarıda bırakmak ve kapalı ürünün onunla sadece bağlantı kurması.

________________

Özetle

Durum LGPL'ye göre Sonuç
Çekirdek kodu uygulamaya gömmek (statik link) 🟢 Uygulama da açık kaynak olmak zorunda
Çekirdek kodu dışarıdan çağırmak (dinamik link, DLL, API, NuGet) 🟢 Uygulama kapalı kalabilir
Çekirdek kodda değişiklik yapıp dağıtmak 🔵 Değişiklikleri açık kaynak paylaşmak zorunda