Bir programlama dili nedir ve bir programlama dili nasıl telif hakkı alır?


12

Çoğunlukla eğlenmek için kendi programlama dilimi oluşturmaya karar verdim. Ancak, bunların yasal yönüyle ilgileniyorum.

Örneğin, belirli programları belirli koşullar altında lisanslayabilirsiniz. Ancak, bir dili lisanslamaya nasıl gidiyorsunuz ? Ayrıca, bununla sadece dilin (derleyici ve VM) uygulanması değil, standardın kendisi demek istiyorum. Eksik olduğum bir programlama dilinde başka bir şey var mı?

Bu lisanslama ile elde etmek istediklerim:

  1. Tamamen FOSS yap (bir dil FOSS olabilir mi, yoksa FOSS olabilecek uygulama mı?)
  2. Kendimi yazar olarak kur (yasal olarak bir dilin yazarı olabilir misin? Veya yine sadece uygulama?)
  3. Dilimi uygulayan herkesin bana atfetmesi gerekecek şekilde yapın (MIT tarzı. Lütfen bunu yapan herkes için hiç umudum olmadığını unutmayın, sadece öğreniyorum.)

Çözümün, VM'yi ve derleyiciyi kendi dilime, "resmi uygulama" olarak ayrı ayrı lisanslamak ve daha sonra tasarım belgesini dilin kendisi olarak lisanslamak olacağını düşünüyorum .

Burada tam olarak ne eksik?


10
Re (1): Bir dil özelliği yazılım değildir, bu nedenle FOSS geçerli değildir. Ayrıca, yazarı böyle bir şeyi deneyen bir dile rastlarsam, hangi amaçla olursa olsun, son derece ihtiyatlı olurdum (yani, muhtemelen hiç kullanmazdım). Kontrol bağımlılığı, güvensizlik ve yasal konularda yetersiz bilgi birikimine sahiptir.

Nihai amacınızın burada ne olduğu konusunda biraz kaybım var. Belki bunu bilseydik, nasıl başaracağınızla ilgili boşlukları doldurmanıza yardımcı olabiliriz. Hedef pazarınızın kim olduğunu bilmek de yararlı olacaktır.
pdr

Bekle, kontrol bağımlılığının nasıl bir şey olduğunu etiketlemek @delnan? Yoksa bir spesifikasyonun telif hakkından mı bahsediyordunuz? AFAIK, telif hakkı doğası gereği kötü değildir, hiçbir şekilde kısıtlayıcı olması gerekmez.
jcora

1
Sanırım özellikleri kamu malı olarak saklayacağım.
jcora

1
Ben bir avukat değilim, ancak bir belgenin telif hakkı (bir dil belirtse bile) bir dilin telif hakkı değildir. Örneğin, telif hakkıyla korunan sözlükler kullanıyorum ve onları ihlal etmeden Fransızca konuşuyorum.
Basile Starynkevitch

Yanıtlar:


15

Disclaimer.IANAL ();

Bir programlama dilini, konuşulan bir dili telif hakkından daha fazla kopyalayamazsınız. Dilin belirli bir uygulamasını lisanslayabilir ve hatta bu derleyiciye Borland'ın yıllarca Delphi ile yaptığı gibi satabilirsiniz.

Bugün birçok dilde, neyin dilde olup neyin olmadığını belirleyen bir BDFL (Yaşam İçin Diktatör Diktatör) vardır. Python, Ruby ve Perl bunlara örnektir.

Diğer diller, standartları genellikle ANSI, ECMA veya ISO gibi birkaç standart kurulundan biri tarafından resmi olarak tasarlamıştır. Örnekler arasında C, C ++ ve Javascript sayılabilir.

Bazı diller şirketler arasındaki politikalar nedeniyle daha karanlık bölgelere girmektedir. Java bir örnektir, çünkü Microsoft bazı standart panolarında yer almaktadır.

Bazı diller birinden diğerine, tipik olarak BDFL'den Standartlaştırılmış'a geçer, C iyi bir örnektir.

Dilin özelliklerine bağlı olarak, bazı derleyici yazarları farklı özellikleri farklı şekillerde (örneğin CPython vs PyPy) uygulayabilir veya özellikler ekleyebilir (Microsoft C ++ vs GNU C ++ veya MySQL vs PostGreSQL vs SQL Server)


1
Loglan , inşa edilen dillerin telif hakkı olmayan statüsünün bir örneğidir. Lojban , Loglan'ın etkin bir şekilde yeniden uygulanmasıdır. Öte yandan Sun, Microsoft'un Visual J ++ Java uygulaması için dava açtı …
Jon Purdy

2
@JonPurdy: Java ile ilgili bir telif hakkı sorunu değil, bir ticari marka sorunu. LiveScript'in Sun / Netscape'in birleşik çıkarları içindeyken nasıl Javascript haline geldiğine bakın, daha sonra Microsoft, ticari marka sorunlarından kaçınırken benzerlik göstermek için JScript'i yayınladı ve daha sonra herkes ECMAScript'i ortak bir ad olarak kabul etti.
pdr

1
@ JonPurdy, @ pdr Sanırım Sun ve Microsoft arasındaki anlaşmazlıkta sözleşme hukuku sorunları da vardı. Microsoft, Sun'ın JVM teknolojisini lisanslamıştı ve lisansın bir kısmı, Java'nın standart dışı uygulamalarını üretmemeyi kabul ediyordu.
Charles E. Grant

1
@pdr Hatırlayabildiğim kadarıyla, bir Java uygulamasının sağlaması gereken çok kesin bir özellik vardı (bir uygulamanın geçmesi gereken birkaç bin test dahil). Microsoft, standart dışı bir uygulamaya sahip oldukları için (muhtemelen yalnızca Internet Explorer ile çalışacak uygulamaları dağıtarak kullanıcıları kilitlemek için) dava açıldı. Java'nın standart dışı bir uygulamasını dağıtma stratejisi başarısız olduktan sonra Microsoft, C # oluşturmaya devam etti.
Giorgio

3
@Giorgio - tam olarak. Sun'ın itiraz ettiği şey MSFT'yi önemli değişiklikler yaparken (MSFT'nin platformuna kilitlemek için) kendi dillerinde Java'yı çağırmaktı. Aslında sahte bir Java üretiyorlardı
Martin Beckett

8

Herhangi bir dili kısıtlama / kontrol etme / sahiplenme girişimleri başarısızlığa mahkumdur. Bir dilin yaygın olarak kullanılabilmesi için, insanlar a) bir sorunu mevcut, yerleşik bir dilden daha iyi çözdüğünü ve b) aniden bir lisansın / yasanın yanlış ucunda olmayacaklarından rahattırlar. takım elbise. Bunun mümkün olduğunu düşünüyorlarsa, başka bir yere gidecekler.

Larry Ellison (AKA Oracle) ve Google tarafından yapılan Java'nın tam Trajedisini öneriyorum. Ellison, 2 şeyi başaran küresel ölçekte bir yasal faceplant gerçekleştirdi:

  1. Dünyaya, para kazanabileceğini düşündüğü herkese dava açacağını gösterdi ve
  2. O olmadığını gelecekteki gelişmeleri garantili kesinlikle zaten seçsin Java bağlı bir şey Java dışındaki.

Google sadece bu davayı kazanmakla kalmadı, Oracle'ın acıklı patent ve telif hakkı iddialarını da keşfetti . Bundan sonra, tanıdığım hiç kimse Oracle'ın üzerinde parmak izleri olan herhangi bir "açık kaynak teknolojisi" ne inanmayacak (düşün: MySQL).

İsterseniz, geliştirici yüzyıllarını Java'nın arkasından atlayabilir ve doğrudan göz ardı edilmeye gidebilirsiniz ... Yeni dilinizi kullanmadan önce tüm geliştiricinin bir sözleşme imzalamasını sağlayın.


1
Mükemmel netlik için +1. Java hakkında 2. noktanızla çiviye vurdunuz. Bu, Java'yı kullanmaya devam edip etmemeye veya kendime benzer bir dil oluşturmaya karar vermede önemli bir faktör olmuştur. Yine de, insanların söylediğim gibi, kişisel ve eğitim amaçlı kullanmasını beklemiyorum. Ancak, seçeneklerimi açık tutmak istiyorum.
jcora

1
Güncelleme: Mayıs 2014'te bir federal devre mahkemesi bu kararı iptal etti ve API'lerin telif hakkıyla korunabileceğini söyledi. eff.org/deeplinks/2014/05/…
kimse

Ama bu benim görevimin gerçek noktası değildi. Oracle'ın Java ile olan güç oyununun tamamen çökmesinden sonra, hiç kimse doğru zihninde ve herhangi bir tarih bilgisi ile bilerek bu tür ilmikleri şirketlerinin veya projelerinin boynuna yerleştirecektir. Eğer bir şey olursa, Temyiz Mahkemesi tarafından iptal edilmesi sadece OSS araçlarını ve dillerini kullanma argümanına daha da fazla ağırlık vermektedir. Larry Ellison gibi bir deliğin Libre / Özgür yazılımın gerçek değerini en sert başlı kapitalist veya iş insanına bile götürecek kişi olması şaşırtıcı ve derinden ironik.
Peter Rowell

2

Diliniz için bir dilbilgisi yazabilir ve bunun üzerinde telif hakkınızı iddia edebilirsiniz. Tabii ki, bu sizi aynı dili tanımlayan farklı bir dilbilgisi yazan birine karşı korumaz.

En büyük sorum "neden isteyesin" olacaktır. Sonuçta, muhtemelen insanların dilinizi benimsemesini istersiniz. Başka biri bunu oluşturduğunu iddia ederse, sadece iyi bir web varlığına sahip olmak onlara yalancı demenizi sağlamak için yeterli olacaktır.

Diğerlerinin de belirttiği gibi, asıl amacınız başkalarının namedilinizi çalmasını önlemekse , bir ticari marka daha yararlı olacaktır.


Dil için bir dilbilgisi yazmak hala onu korumaz. Yapacağı tek şey, başka birinin dilbilgisini benzer şekilde yeniden yazmasını durdurmaktır. İngiliz dili için bir dilbilgisi yazabilirim, bu da SE'ye yazabilmenizi engellemez.
Gavin Coates

Gavin - Ben yazdım .... "bu sizi aynı dili tanımlayan farklı bir dilbilgisi yazan birine karşı korumaz." Umarım bu, böyle bir telif hakkının dili korumakla kalmayacağını, yalnızca dili tanımlamanın yolunu açtığını açıkça ortaya koymaktadır. Yine de - bir insanı daha iyi hissettirebilir.
Dominic Cronin

1

Bu sorunun zaman içinde farklı cevapları olmuştur:

2012 yılında, Android'de Java API'sinin kullanımı üzerine Oracle'a karşı Google davasında "yapamazsınız" şeklinde benzer bir soru yanıtlandı ve WPL'nin SAS programlama dilini kendi ürünlerinde uygulaması durumunda da benzer bir cevap verildi. Bu cevabın mantığı, bir dilin farklı uygulamaları arasındaki birlikte çalışabilirliğin bir programlama dilinin sözdiziminin kopyalanmasını gerektirmesi ve bu nedenle buna "adil kullanım" kuralları altında izin verilmesi gerektiğiydi.

2014 yılında ise temyiz ABD mahkemesi karar sadece yasal cevap gerçekten olduğunu "evet, yapabilirsin", orijinal telif hakkı takdirine ne kuralları interopability sağlamak (ya da değil) ve altında olduğu gerekçesiyle Kulp. Bu en son yorumda, birisi programlama dili, API veya diğer arayüz özellikleriyle uyumlu olmanızı istemiyorsa, sizi durdurma hakkına sahiptir.

Özetle, 2014 itibariyle muhtemelen varsaymak makul olacaktır: evet, bir programlama dili (sözdizimi, yapısı ve dil yapılarının sırası) telif hakkıyla korunabilir

Telif hakkı yasasının yerel yorumlara tabi olduğunu ve ülkenizdeki kuralların farklı olabileceğini unutmayın. Şüpheniz varsa bir avukata danışın ...

(tartışmanın geri kalanını kaldırın, geçmişe bakın)

Feragatname: IANAL


Annnddd ... bu karar bozuldu. Oracle alkışladı ve bu sefer hakimler programcı değildi.
jmoreno

@jmoreno bunu işaret ettiğiniz için teşekkürler. Bu yeni gelişmeyi yansıtacak cevabı güncelledi ...
miraculixx

Sadece bir avukat veya bir psikiyatrist değil, sadece bir programcı demek istiyorum, ancak 2014 kararı benim için sınırda çılgın görünüyor. Bu bir sürü komut!
jmoreno
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.