Kendi zamanımda çok fazla gelişme yapıyorum. Üzerinde çalıştığım bu projeler sadece eğlence ve öğrenme amaçlı (şimdiye kadar). Genellikle Maven ile Java geliştirme yapıyorum ama aynı zamanda .NET ve Python'da dabble bilindim. Üzerinde çalıştığım tüm projeler açık kaynak lisansları kullanıyor, ancak bunların çoğu herhangi bir genel kod deposunda bulunmuyor.
Java / Maven geliştirme, benzersiz bir groupId
(örn. "Com.alanim") ve benzersiz package
(dizin) bir yapı kullanmamı gerektirir; genellikle groupId
.NET geliştirme namespaces
, Java package
konseptine benzer kurallar kullandığım benzersizliği teşvik eder . Benzersizliği sağlamak için, genellikle alan adlarımdan birini yalnızca parçaları ters çevrilmiş halde kullanıyorum (örneğin, "ca.jessewebb"); Bunun çok yaygın bir uygulama olduğuna inanıyorum.
Yeni, açık kaynak kodlu bir Java / Maven projesi oluşturmanın ilk aşamalarındayım (buna "newproj" diyelim) ve GitHub'a koymak istiyorum. Böyle it a URL verecektir böylece GitHub'dan My kullanıcı adı "jessewebb" dir: https://github.com/jessewebb/newproj
. Ben olarak "ca.jessewebb" ve "ca.jessewebb.newproj" kullanmaya karar "newproj.com" alan adının tescili rahatsız etmek istemiyoruz groupId
ve package
sırasıyla.
Kodda ve projenin evinin bir parçası olarak (GitHub URL'sinde) kişisel kimliğimin varlığının, potansiyel bir katkının projeme dahil olma konusunda iki kez düşünmesine neden olacağı aklıma geldi. Bu bir sorun, benim projem olmasını istemiyorum . Bunun yerine, projeye sahip olmadığım mesajı iletebilsem tercih ederim. Şimdi, tüm dürüstlükte, bu gerçekten büyük bir anlaşma değil çünkü projelerimin toplum katılımını artıracağından şüpheliyim, ancak bunu katkıda bulunanları caydırma olasılığını önlemek için daha da bir neden olarak görüyorum .
Başka bir örnek olarak, birkaç yıl önce bir Google Code projesi oluşturdum (buna "oldproj" diyelim). Projeyi oluşturduğumda, Google Code'da barındıracağımı biliyordum groupId
, bu nedenle Google Code'un her yeni projede sağladığı varsayılan alan adının tersi olan "com.googlecode.oldproj" ve paket adını kullandım . Bu o kadar da harika bir fikir değildi; Bir yıl kadar sonra, ben farklı repo kod taşındı ve ben bu tanımlayıcıları yeniden adlandırmak zorunda (iyi ben vermedi varAma...). O zamanlar, herhangi bir alan adına sahip değildim ve "oldproj.com" alan adını satın aldım ve kullandım. Bunu sevdim çünkü projeye kendi kimliğini verdi ve ismimi her yere koda basmıyordum. Kolayca "jessewebb.ca" alan adını kaydettirebilir ve paket adı olarak "ca.jessewebb.oldproj" kullanabilirsiniz ama o zamanlar da aynı endişeleri yaşadım.
Benim sorum ...
Paketlerin / ad alanlarının benzersizliğini korurken açık kaynak projeleri oluştururken kendi (alan adı) adlarımı kullanmaktan nasıl kaçınabilirim?
Projeler daha fazla ivme kazandıkça, alan adlarını kaydetmek mantıklıdır, ancak daha önce yapmak aptalca ve para kaybıdır. Ben aslında gerek yok olduğunu fark kendi kodunda kullanmak için alan adı ama bu yanlış geliyor ve bu arada size altından onu kapış bir gecekondu yol açabilir. Diğer insanlar bu ikilem hakkında ne yapıyor? Kendi tanımlayıcılarının bir parçası olarak orijinal geliştiricinin kimliğini içeren popüler (yaygın olarak kullanılan, büyük topluluk vb.) Açık kaynak projelerine örnekler var mı?