Modlama:Açık Kaynak

Stardew Valley Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla

İndeks

Açık kaynak olan bir modun kodu herkese açıktır ve bir açık kaynak lisansı ile korunur. Mod yapımcılarının modlarını ve içerik paketlerini açık kaynak yapılması şiddetle önerilir.

Açık Kaynak Neden Önemli?

Açık kaynak, modlama topluluğunu uzun süreli olması açısından önemlidir ve oyuncu deneyimini daha iyi hâle getirir.

Diğerlerini nasıl etkiliyor?
Seçtiğin açık kaynak lisansına bağlı olarak, diğer insanlar...
  • kodunu görebilir,
  • kodun bir kopyasına değişiklikler yapabilir,
  • güncellemeler, değişiklikler veya düzeltmeler gönderebilir,
  • resmi olmayan güncellemeler hazırlayabilir,
  • koda bakarak kullanıcılar tarafından sorulmuş soruları yanıtlayabilir.
Etkisi oldukça büyüktür. Mesela SMAPI 3.0 yayınlandığında açık kaynak modların yalnızca %1'i bozulurken kapalı kaynak modların %51 kadarı bozulmuştu (üstelik önceki oyun/SMAPI güncellemeleri için hiç güncellenmeyen kapalı kaynak modları saymıyoruz bile).
Sizi nasıl etkiliyor?
Yukarıdaki avantajların yanı sıra diğerlerinden katkı kabul ediyorsanız bir lisans çok önemlidir.
Bir lisans yoksa katkı yapanların modunuza değişiklik yapmaları için telif hakkı bulunur (kodu, çevirisi, diğer içerik değişiklikleri için). Modunuza katkı yaparak yaptıkları değişiklikleri sizin kullanmanıza izin vermiş olurlar. Ancak artık modun tamamına sahip olmadığınız için her katkı yapandan izin almadan yayınlanma şekline değişiklikler (örn. modu farklı modlara ayırmak, kodu başka bir moda kopyalamak vs.) gerçekleştiremezsiniz. Katkı yapanlardan bazılarına ulaşamıyorsanız o hâlde şans sizden yana değildir, bu durumda yapmak istiyorsanız tek çareniz katkılarını moddan tamamen kaldırmaktır.
Bir lisnas varsa katkılar daotomatik olarak lisans tarafından korunur. Böylece lisansın izin verdiği katkılar ile istediğinizi yapabilirsiniz.

Sıkça Sorulan Sorular

Sunulan değişiklikleri beğenmezsem?
Orijinal kodunuz ve mod sayfalarınız için bütün kontrole sahipsiniz, kimse onayınız olmadan bunları değiştiremez! Modunuza sunulan bir değişikliği reddetmekten çekinmeyin.
İçerik paketleri için de geçerli mi?
Evet! İçerik paketleri derlenmez ancak diğer mod yapımcıları bir kod liasnsı olmadan legal olarak değişiklik yapamaz. Unutmayın ki Nexus gibi sitelerdeki "izinler" seçenekleri hukuki üstünlükte değildir, bu yüzden içerik paketleri için de kod lisansına sahip olmak iyi bir fikirdir. Ayrıca diğer mod yapımcılarının da pull istekleri ve güncellemeler için katkı sağlamasını sağlar. Lisansta bahsedilen "kod"; JSON dosyaları, görsel, haritalar vs. içerik paketinizde bulunan her türlü dosyayı kasteder.
Ticari kullanımı engelleyebilir miyim?
Ticari olmayan bir lisansta diğer kişilerin içerikten kâr elde etmesi veya içeriği tekrar satması engellenir. Hiç lisans olmamasından iyidir ancak açık kaynak değildir. Yayıncılar modlarınızı internette gösterirken videolarının para gelirinin devre dışı bırakılabilmesine sebep olabilir, bu yüzden internette modunuzun video tanıtımlarını görememeniz gibi yan etkilere yol açabilir. Ticari olmayan lisanslardan kaçınmak şiddetle önerilir.
Lisans olmadan bir mod yayınladım. Şimdi bir lisans ekleyebilir miyim?
Evet. Modu tamamen kendiniz yaptıysanız herhangi bir zamanda lisans ekleyebilir veya değiştirebliirsiniz. Diğer kişiler moda katkı yaptıysa (kod, çeviriler, görseller dahil) katkılarını tekrar lisanslamak için her katkıda bulunan kişiden izin almanız gerekir, aksi taktirde moda yaptıkları değişiklikleri silersiniz.
Git repository'si nedir?
Git, kodunuzdaki değişiklikleri takip eden bir yazılımdır ve bir repository ise Git takibi ile mod dosyalarınızı barındıran bir klasördür. Daha fazla öğrenmek için Git rehberlerine bakabilirsiniz ancak endişelenmeyin, kullanmak için nasıl çalıştığını bilmenize gerek yok!

Kodunuzu Açık Kaynak Yapma

Kodunuz GitHub Üzerindeyse

Zaten neredeyse yapmışsınız! Tek yapmanız gereken bir açık kaynak lisansı seçmek (karar veremiyorsanız MIT lisansı iyi bir seçenektir) ve repository'ye bir LICENSE dosyası eklemek.

Kodunuz GitHub Üzerinde Değilse

Burada yapmanız gerekenler artar ama endişelenmeyin, oldukça kolaydır ve yalnızca bir kere yapmanız gerekecek. Yardım gerekirse Stardew Valley Discord'unda #making-mods kanalında soru sorabilirsiniz.

VisualStudio ile

Visual Studio'da oldukça iyi bir Git entegrasyonu bulunur, burada dokümanlanmıştır: https://learn.microsoft.com/en-us/visualstudio/version-control/git-create-repository?view=vs-2022

SourceTree ile

Git repository'si oluşturun
Önce kodunuzu barındıracak herkese açık repository'yi oluşturun
  1. Bir GitHub hesabı oluşturun.
  2. SourceTree (Mac/Windows) veya GitKraken (Linux) indirin. Sorulduğunda GitHub hesabınıza bağlanmasını isteyin.
  3. GitHub'ta repository oluşturun. Önerilen ayarlar (ekran görüntüsünü inceleyin):
    1. Repository name (Repository ismi): Bütün modlarınızı aynı repository içine yerleştirecekseniz StardewMods iyi bir isim olabilir, aksi taktirde modun ismini kullanın.
    2. Description (Açıklama): Stardew Valley Modları iyi bir açıklama olabilir.
    3. Initialize ... with a README: Bu ayarı etkinleştirin.
    4. Add .gitignore (.gitignore ekle): Bunu boş bırakın, daha sonradan kendimiz oluşturacağız.
    5. Add a license (Bir lisans ekle): Bir lisans seçin (karar veremiyorsanız MIT lisansı iyi bir seçenektir) ve burada da seçin.
    6. 'Create repository' butonuna tıklayın.
  4. Beliren repository sayfasında yeşil "Clone or download" butonuna tıklayın ve URL'yi kopyalayın:
    Modding - copy GitHub repo URL.png
  5. SourceTree'de File > Clone'a tıkalyın ve URL'yi yapıştırın. Erişilmesi kolay bir dosya yolu seçin (C:\source\StardewMods</sampgibi) ve 'Clone'a tıklayın.
  6. Klonlamadan sonra repo ayarlarına gidin (ayarlar ikonu, sağ üst).
  7. "Remotes" bölümüne tıklayın.
  8. Git yolunu seçin.
  9. "Edit" butonuna tıklayın.
  10. URL'nin/dosya yolunun hemen sağındaki küre ikonuna tıklayın.
  11. Proje ismini seçin.
  12. "Edit accounts" butonuna tıklayın.
  13. GitHub hesabına çift tıklayın. Bir doğrulama penceresi çıkar.
  14. Varsayılan doğrulama yöntemi OAuth'tur. "Personal Access Token" olarak değiştirin.
  15. Kullanıcı ismi ve token girin.
  16. Eğer seçilmemişse "Protocol"un "HTTPS" olarak ayarlanmış olmasından emin olun ve kaydedin (Save).
Zor olan kısım bitti! Artık bilgisayarınızdaki klasörle senkronize edilmiş bir GitHub repository'niz var.
Mod dosyalarını ekleyin
Şimdi repository'ye dosyalarınızı ekleyin.
  1. Repository klasörünü açın (yukarıdaki 5. adımda girdiğiniz dosya yolu).
  2. Bu zip dosyasını zip'ten çıkarın ve klasöre yerleştirin. Böylece klasörünüzün köküne iki dosya ekler: .gitattributes (Linux/Mac/Windows arasında satır sonlarını normalleştirir) ve .gitignore (Git'ten işlenmemesi gereken dosyaları saklar). Bunlar klasörünüzde bulunur ve değiştirmenize gerek yoktur.
  3. Mod dosyalarınızı (.sln dosyası dahil) klasöre kopyalayın.
  4. SourceTree'de değişikliklerini uygulayın:
    1. Üstte "Commit"e tıklayın.
    2. "Stage All"a tıklayarak bütün dosyaları buna ekleyin.
    3. Metin kutucuğuna değişikliklerinizin bir açıklamasını yazın. Formatı size kalmıştır ancak "mod dosyaları eklendi" gibi bir açıklama da şu anlık iyidir.
    4. "Push changes immediately" tiklenmiş olmalıdır.
    5. "Commit"e tıklayın.
Bu kadar. Bütün dosyalarınız artık GitHub'ta gözükecek. Modunuz artık açık kaynak!
Değişiklikler yapın
Yukarıdaki adımların hepsi ilk kurulum içindir. Düzenleme yapmak istediğinizde işiniz daha kolaydır:
  1. Repository klasörünüzdeki kodu düzenleyin.
  2. SourceTree'de değişikliklerinizi yapın ve uygulayın (yukarıdaki bölümde 4. adıma bakın).

Ayrıca Bakınız