Kendimi korumak ve telif hakkımı kaybetmemek için önceki yazılı kodumdan bazılarını işverene vermek için MIT lisansını kullanabilir miyim?


17

Benim durumum:

  • Yeni işime başlamadan önce bir çerçeve yazdım. Telif hakkına sahibim.

  • İçinde herhangi bir yazılım parçası gibi bir sürü kaynatma plakası mantığı vardır. (Yaa!)

  • Tüm çerçeveyi yeni işimde kullanmak istemiyorum, ancak bazı bölümlerini yeni işim için oluşturduğum benzer bir çerçevede yeniden kullanmam gerekiyor .

  • Tüm mantığı sıfırdan uygulamak / yeniden düşünmek pratik değildir. Bu çok mantık ve mantık mantık, onu çok farklı yapamazsınız. Örneğin, bir HashMap'in kaç farklı sürümünü kodlayabilirsiniz? Bahse girerim çok benzerler ve üçüncü versiyon ilk versiyonun telif hakkını ihlal ettiğinizi iddia edebilir. :(

  • API'yı yeniden icat etmeye çalışmak pratik değildir. Bir HashMap'in API'sını yeniden icat edebilir misiniz? Belki değiştirebilir put(k,v)için add(k,v)değil, çok daha fazlası.

Kendimi ve önceki kodumu koruma fikrim:

İşverenime, MIT lisansı altında yazdığım bir çerçeveyi temel alarak yeni çerçeveyi oluşturduğumu söyleyeceğim. Gelecekte, önceki çerçevemi başka bir yerde, hatta türetilmiş başka bir versiyonunu kullanırsam , şu anda işveren için oluşturduğum bu yeni çerçeveye benzer bazı kod parçaları var, kodlarını kullanarak, onlar için yazdığım kod.

Sorularım:

  • Kodumu kimseye dağıtmıyorum. MIT lisanslı kodumu kimseye dağıtmam gerekmiyor, telif hakkına sahipsem doğru mu? Yani, birisi şimdi MIT lisansı altında olduğunu iddia ettiğim kodumu serbest bırakmamı isteyebilir mi? Bu dünyanın sonu olmayacaktı ve bunu yasal bir tehdit altında yapmayı kesinlikle kabul ediyorum.

  • Bu strateji bir anlam ifade ediyor mu? Son hedefim, önceki kodlanmış çerçevemin türetilmiş bir sürümünü, telif hakkını kaybetmeden kullanabilmektir. Aynı zamanda, bu kodu herkese açık kaynaklı bir proje olarak dağıtmak istemiyorum. Serbestçe dağıttığım başka açık kaynaklı projelerim var, ancak bu işleri kendimde tutmak istiyorum (böylece yüklenici işlerimde değil).

MIT lisansı altında, kimseye dağıtmadan ve / veya göstermeden bir çerçeveniz olduğunu iddia etmek gibidir . Dışarıdaysa, ücretsiz ve kolayca ulaşılabilirse, işverenlerimin artık bana ihtiyacı yok. Sadece kodu alıp kullanmak için başkasına verebilirler.

Notlar:

  • İşe başlamadan önce bu çerçeveyi önceki bir buluş olarak listeledim.

  • Bu kodu hiçbir yerde yayınlamadım. Özel sunucumda barındırdığım özel SVN deposumda.

Kısacası fikrim:

  • Planım önceki kodu kendime saklamak, işveren için inşa ettiğim bu yeni çerçevede bir kısmını kullanmak ve işverene, daha önce kodladığım ve kimseye dağıtmadığım bir MIT lisanslı çerçeveden türetilen bir çalışma olduğunu söylemektir ". MIT lisansı altında kodladığım bir yazılımı dağıtmak zorunda değilim, değil mi? Daha sonra, bazı yasal hak talepleri olursa (umarım değil), hemen tüm kaynaklara lisansı yapıştırabilir ve kodu gösterebilir / serbest bırakabilirim.

Yanıtlar:


21

Eskiden IP avukatı oldum, bu yüzden lisans tecrübesi var. Terimlerin kendileri oldukça okunabilir ve anlaşılabilir gibi hissediyorum, ama sonra yine, üç yıl hukuk fakültesi ve biraz avukatlık zamanı ile karar verdim ve aklımı tekrar edip hacklemeye dönmeden önce. Özellikle şu anda aktif bir avukat olmadığım için, bu kesinlikle en azından yasal tavsiye olarak tasarlanmamıştır.

MIT lisans dilinin kendisiyle başlayalım. Sonra açık kaynak lisanslarını anlamak için birkaç önemli nokta belirleyeceğim, ardından sorularınızı ele alacağım ve üst düzey gözlemler sunacağım.

Bu yazılımın ve ilişkili dokümantasyon dosyalarının ("Yazılım") bir kopyasını alan herhangi bir kişiye, kullanma, kopyalama, değiştirme, birleştirme hakları da dahil ancak bunlarla sınırlı olmamak üzere, herhangi bir sınırlama olmaksızın, Yazılım ile ilgili olarak erişim izni verilir. , Yazılımın kopyalarını yayınlamak, yayımlamak, dağıtmak ve / veya satmak ve Yazılımın sağlandığı kişilere aşağıdaki koşullara tabi olarak izin vermek için: (bu bildirimi yazılımda bırakmaları. Sonunda.)

Telif hakkı sahipleri için en açık kaynak lisanslarına (BSD, MIT, GPL dahil) sahip birkaç önemli şey şunlardır:

  1. Lisans, telif hakkının sahipliğini değiştirmez. Bu münhasır olmayan bir lisanstır, bir görev veya mülkiyetin kaybedilmesi değildir. Bir OS lisansı kullanmak, "açık alana bir şey koymak" değildir, ancak bu kesinlikle açık kaynak için bir yaklaşımdır.
  2. Hiçbir şey, telif hakkı sahibi olarak, kodu lisans eklemeniz nedeniyle herhangi bir şekilde herkese açık hale getirmeye "zorlamaz".
  3. Ancak bir işletim sistemi lisansı kullanırsanız, işletim sistemi lisanslı kodunuzu "edinen" kimsenin bunu hiçbir şekilde herkese açık hale getirmesini engelleyemezsiniz.
  4. Copyleft (örn. GPL) lisansları, sağlayıcıların (sahiplerinin değil) türetilmiş çalışmalarını halka açık ve açık kaynak yapmalarını gerektirir. İzin verici (MIT, BSD) yok. (bu bir basitleştirme olabilir, ancak temel farktır)
  5. Açık kaynak lisanslarının çoğunda (örneğin MIT) bir "geri alma" maddesi bulunmadığından, birisi kodunuzu "aldıktan sonra", aldıkları lisans koşulları altında sürekli olarak kullanma hakkına sahiptir.
  6. Kodunuzun gelecekteki sürümlerini her zaman farklı bir lisans altında dağıtabilir veya tamamen tescilli tutabilirsiniz. Bu, birisinin önceki açık kaynak sürümünüzle ("elde ettiklerini varsayarak") başlamasını ve kendi yeni parçalarını eklemesini ve dağıtmasını engellemez.
  7. Kodunuzun önceki sürümleri için "edinme" kanalını kaldırabilirsiniz, örn. Github'dan çıkarın. Ancak, belirtildiği gibi, bu, başkalarının açık kaynaklı önceki sürümleri hiçbir şekilde kullanmasını veya dağıtmasını engellemez.

Bu temelde sorularınıza geçeceğim.

Kodumu kimseye dağıtmıyorum. MIT lisanslı kodumu kimseye dağıtmam gerekmiyor, telif hakkına sahipsem doğru mu? Yani, birisi şimdi MIT lisansı altında olduğunu iddia ettiğim kodumu serbest bırakmamı isteyebilir mi? Bu dünyanın sonu olmayacaktı ve bunu yasal bir tehdit altında yapmayı kesinlikle kabul ediyorum. ... Aynı zamanda, bu kodu kimseye açık kaynak kodlu bir proje olarak dağıtmak istemiyorum.

Telif hakkı sahibi olarak herhangi bir kodu kimseye dağıtmanız gerekmez; (GPL olsa bile) bu tür istekleri yerine getirmek zorunda kalmazsınız. Her hakkı saklıdır. Ancak, açıkladığınız durumda, yeni şirketinize dağıtırsınız ve sürekli olarak bir işletim sistemi lisansı altında onlara lisans verirsiniz. İşvereniniz (büyük olasılıkla eski işvereniniz) kodunuzu internete yapıştırabilir ve huysuzluk dışında bununla ilgili bir şey yapamazsınız.

"İşverenimin dışında herhangi biri" demek istediğinizi varsayalım. İşvereninize "açık kaynak" olarak vermek ve onlara yeniden dağıtım ve sürekli kullanım da dahil olmak üzere bu lisansta yer alan tüm hakları vermek istemiyorsanız, o zaman açık kaynak lisansı. İstediğiniz şartlar altında doğrudan lisans vermeniz gerekir. Mermi ne istediğinizi işaret eder ve bir avukatın bir paragraf formuna koymanız için size bir iki saat fatura etmesini sağlayın. Veya kendiniz yazın. Lisanslar sadece sözlü anlaşmalar olan sözleşmelerdir.

Son hedefim, önceki kodlanmış çerçevemin türetilmiş bir sürümünü, telif hakkını kaybetmeden kullanabilmektir.

Birisine atamadığınız, yalnızca lisanslamadığınız (siz hariç) veya telif hakkını kaybetmedikçe telif hakkını kaybedemezsiniz. Açık kaynak lisansı bunlardan hiçbiri değildir. Oluşturduğunuz türetilmiş sürümleri her zaman kullanabileceksiniz ve hatta türetmeleri farklı şekilde lisanslayabilir veya tüm hakları koruyabilirsiniz.

Ancak, birincil ve meşru bir endişeniz, işveren kodu kendisinin olduğunu iddia etmeden veya bunu yapmak için haklarınızın dışında olduğunuzda gelecekte telif hakkını koruyabileceğiniz ve kodunuzu kullanmaya devam edebileceğiniz gibi görünüyor. Bunun anahtarları, A) önceki çalışmanızın telif hakkını koruduğunuzu ve bunları X lisans koşulları altında sağladığınızı kabul edilemez bir kanıt oluşturmaktır (MIT, yukarıda açıklanan açık kaynak yönüne uygunsanız çalışır. ) B) bu şartları kabul ederler ve C) önceki çalışmanın tam olarak ne olduğunu.

(A) ve (B) için, lisansı referans alan veya içeren bir şeyi imzalamalarını veya yazılı olarak kabul etmelerini ve kodu bu koşullar altında tabloya getirdiğinizi anladıklarını görebilirsiniz. (C) ile ilgili olarak, bunu yapmanın standart yolunun ne olacağından emin değilim, ama mantıklı olun. Çok büyük değilse, kodu yazdırabilir ve hem sizin hem de işvereninizin imzaladığı sözleşmenin kopyalarına ekte ekleyebilirsiniz. İmzanızla kopyanızı saklayın. Pratik olarak yazdırmak için çok büyükse, bir md5 karma burada yararlı olacaktır. Belki de "XXXXX md5 karmasına sahip olan ve Z üzerinde Y şirket temsilcisine e-postayla gönderilen özel github deposunda X adında zip dosyası /, (veya ftp sitesi, vb.) tarihi". Daha sonra yöneticinize veya avukatlarına veya kişisel e-posta hesabınızdan kim olursa olsun e-postayla gönderebilirsiniz ve kopyalarını silseler bile yine de sizinkini saklarsınız ve henüz yazılmamış kodun gelecekteki md5 karmasını tahmin ettiğinizi iddia edemezler. . Bu, teorik olarak yolun başka bir şeyi talep etmelerini engelleyecektir.


Harika, Ben. Yardımın için teşekkürler. Zaten çalışıyorum, bu yüzden menajerime durumu ve benden onlara verilen lisans koşullarını belirten bir e-postanın yeterli olup olmadığını merak ediyorum. Sonra getirdiğim her kaynak kodu için lisansı (Telif Hakkı (c) BENİM ADIM - ŞİRKET'e verilen lisans, falan, falan, falan) eklerim. Ne düşünüyorsunuz?
JohnPristine

E-postalar kesinlikle bir anlaşmanın veya anlaşmanın, örneğin bir sözleşmenin kanıtı olabilir. Kodu belirli şartlar altında masaya getirmeyi teklif ederseniz ve şirkette yetki sahibi bir kişi bunu kabul ederse, bu yeterince iyi bir sözleşme yaratacaktır. Her dosyadaki (C) / lisans koşulları hakkındaki fikrinizin de iyi olduğunu düşünüyorum. Soru, (C) 'yi dosyalardaki iyileştirmelere bağlı tutacağınızdır. Değilse, tek (C) 'yi tuttuğunuz dosyaların orijinal sürümlerini, örneğin yöneticinize gönderilen bir zip dosyası ve md5 karması ile kaydetmek isteyebilirsiniz.
Ben Roberts

Harika cevap, teşekkür ederim. Çok iyi detaylı ve formüle edilmiş.
haylem

6

(Ben bir avukat değilim.)

Bununla ilgili birkaç potansiyel sorun görüyorum:

  • En kötüsü en kötüsü olursa, orada çalışmaya başlamadan önce bu kodu yazdığınızı ve işyerinizde projenizde kullandığınızda, işvereninizin telif hakkınızın ve MIT lisansı altında olduğunun farkında olduğunu kanıtlamanız gerekir. . Bunun temel amacı, yeniden dağıtım koşullarını belirlememekle birlikte telif hakkınızı korumak olduğundan, daha önce yazılmış kodunuzun kullanımı hakkında işvereninizle yazılı bir sözleşme daha iyi bir fikir gibi görünmektedir.

  • Telif hakkınızı ve "bunun başka bir türetilmiş sürümünü bile" geliştirme yeteneğini korumak istediğinizi söylüyorsunuz. Şimdi şu anki işinizdeyken birkaç harika fikriniz olacak ve bunları uygulayacaksınız. Bana öyle geliyor ki, işinizden ayrıldığınızda ve sonra bu fikirleri kitaplığınızın başka bir sürümünü oluşturmak için 'yeniden uyguladığınız' tüylenebilir - çünkü işinize yazdığınız kodla istediğinizi yapamazsınız (ve bir dereceye kadar, arkasındaki fikirler).


1) Bunu, MIT lisansı ile türetilmiş çalışmalara dayandığını belirterek, şirketin kodu ile birlikte bir lisans dosyası ile yapmayı planlıyorum. Bunu kanıtlamak için, önceki buluş form beyanımla saymayı planlamadan önce yazılmıştı. 2) Bir patent olmadığı sürece fikirlerin telif hakkı yoktur. Kod telif hakkıyla korunmaktadır. Sorun, uygulanan orijinal koddaki telif hakkını bozmadan fikrin nasıl yeniden yazılacağı / yeniden uygulanacağı / yeniden kullanılacağıdır.
JohnPristine

2
Fikirlerin telif hakkıyla korunmadığı, ancak "ticari sırlar" veya "know-how" veya (patentlenebilirse) "patentlenebilir fikirler" veya şirketin sahip olduğu muhtemelen kabul ettiğiniz diğer tür "fikri mülkiyet" olarak kabul edilebileceği doğrudur. Dağınık bir alan.
Ben Roberts

4

Ben bir avukat değilim, ama bu benim çözümüm olacak:

  1. GNU GPL v3 lisansı altındaki kodu, herkesin görebileceği bir genel depoda yayınlayın.

  2. GPL lisansı diğer kişilerin kodunuzu alıp kendi ticari yazılımlarına koymasına ve kodu kapatmasına izin vermez.

  3. Kod% 100 sizin tarafınızdan oluşturulduysa ve başkalarından veya türetilmiş işlerden çalışma içermiyorsa, GPL kodunuzu başka bir lisans altında da lisanslamanıza izin verir, bu durumda onu tescilli ticari için işlerinizde kullanmanıza izin verilir kodu. Ancak, işvereninizi bu alternatif tescilli lisansın lisans sahibi yapmalısınız.

  4. Bu çözüm, işi almadan ÖNCE kodunuzu yazdığınızı kanıtlar.

  5. Kodunuzun tescilli bir satış lisansı altında (para için) mevcut olduğunu ve daha sonra ilgili tarafların satın almak için sizinle iletişim kurabileceğini ilan edebilirsiniz.


1 yapmak ya da genel bir depoda kodu serbest bırakmak istemem. Kodun daha önce yazıldığını kanıtlamanın en kolay yolu olduğunu anlıyorum. Yazılım profesyonellerinin bu tür bir lisansı eksik olduğunu düşünüyorum, bu da kodlarını bir iş için açık kaynak yapmadan ve kaybetmeden kullanmasına izin veriyor. Her şeyi yeniden yaparsanız, kodlar benzer olacaktır, bundan kaçış yoktur. Ve temiz bir oda tasarımı bir çalışan için pratik değildir.
JohnPristine

Ancak çözümünüz, işvereninizin kaynak kodunuzu herkese açık bir depoda yayınlamasına izin verir. Açık kaynak olmasını istemediğinizde açık kaynaklı bir lisans kullanmanın akıllıca olmadığını düşünüyorum.
markijbema

2

İşvereninize, çerçeveniz için yazdığınız genel kodda telif hakkını korumanın mümkün olup olmadığını soramamanızın özel bir nedeni var mı (bu da onlara şu anda bazı ücretsiz kodlar veriyor) ve onlara her şeyi yapabilirsiniz -senin-ile-sen-istemek-bu (kabul, bu oldukça MIT gibi).

Ancak, mevcut kod MIT'inizi lisanslarsanız, işvereninizin değiştirilmiş sürümünü (sizin tarafınızdan değiştirilmiş) açık kaynak yapmasının bir nedeni yoktur, bu yüzden çok fazla çözmediğini söyleyebilirim. LGPL bile kod 'dağıtılmadığı sürece bunu çözemez.

Sonuçta anlaşmanız mantıksız gelmiyor: bazı çerçeve kodlarınız var ve koda tutunabildiğiniz ve daha sonra diğer projeler için tekrar kullanabildiğiniz sürece bunları şirkete bağışlamak istiyorsunuz. sorma?


Evet! Bu her zaman kabul etmem gereken en iyi yaklaşım. Sadece cesur ol ve sor. Bunu sormak için garip olduğunuzu düşünüyorlarsa, başka bir iş aramaya başlayın. Kadar basit. Hayat tamamen dürüstlük ve risklerle ilgilidir. :)
JohnPristine

2

IANAL, gerçek bir avukata sorun, vs.

Her şeyden önce, telif hakkına sahip olduğunuzda, ürünü yalnızca herkese lisansladığınız aynı koşullar altında lisanslayabileceğinize inanıyorsunuz. Bu yanlış: kendinize uygun herhangi bir lisansta lisanslayabilir ve farklı bir lisans altında başka birine lisanslayabilirsiniz.

Bu da sizi işe almak üzere olan şirket için özel bir lisans oluşturabileceğiniz ve yazılımı ayrı bir sözleşme olarak sunabileceğiniz anlamına gelir. Tabii ki, bu gerçek bir avukat tarafından yapılmalıdır.

Şirketinize, telif hakkına sahip olduğunuzu ve telif hakkı yerine belirli haklar verdiğinizi açıkça belirten ayrı bir lisansı imzalattırın.

İkincil konu ile ilgili olarak, projeyi açık kaynak yapmanın yanı sıra önceki tarihi kanıtlamanın başka yolları da vardır. Örneğin, genel kullanıma açık bir sunucuda, bu yazılımı gerçekten belirttiğiniz tarihte yazdığınızı, örneğin geçerli sürümün birkaç farklı karmasını veya hatta projenin şifreli sürümünü içeren bir dosyayı barındırabilirsiniz.

Bu, yasal bir tehdit altındaysanız, hâkime önceki kullanım tarihini kanıtlayabileceğiniz anlamına gelir, ancak proje hakkında neredeyse hiçbir şey açıklamazsınız, bunun yanı sıra yazar olmanız ve açıkladığınız tarih de vardır. Böyle bir argümanın olası geçerliliği hakkında bir avukata danışmalısınız, ancak çoğu mahkemede kabul edileceğine inanıyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.