Một ngôn ngữ lập trình nguồn đóng có thể tồn tại? [đóng cửa]


12

Một người bạn đã viết một ngôn ngữ lập trình. Nó có một cú pháp gợi nhớ đến SGML. Ông đã viết một thông dịch viên cho nó, và một IDE. Ông và các đồng nghiệp của mình sử dụng nó trong nhà như một ngôn ngữ phía máy chủ. Nó cũng có thể được sử dụng để viết các công cụ dòng lệnh.

Ông muốn làm cho nó có sẵn cho công chúng, với mong muốn mọi người sẽ mua một giấy phép để sử dụng nó. Anh ta muốn giữ mã thể hiện việc thực thi ngôn ngữ với chính mình, vì có một chút sở hữu trí tuệ gắn liền với nó.

Tôi tiếp tục nói với anh ấy rằng ngày của các ngôn ngữ lập trình nguồn đóng không còn nữa. Tôi nói, "Hãy xem tất cả các ngôn ngữ chính: đại đa số là nguồn mở. Bạn cũng sẽ phải sử dụng nguồn mở nếu bạn muốn bất kỳ ai bên ngoài công ty chú ý đến những gì bạn đã xây dựng."

Tôi có cho anh ấy lời khuyên tốt hay vẫn còn chỗ cho các ngôn ngữ độc quyền mà bạn trả tiền không?

MỘT LÁT SAU

Den hỏi, "... bạn có thể vui lòng giải thích làm thế nào một ngôn ngữ có thể đóng nguồn không?"

Tôi nói: "@Bạn đã đưa ra một quan điểm tốt Làm thế nào để bạn bảo vệ một cú pháp và một phương pháp lập trình khỏi bị tấn công bởi một công ty có việc thực hiện có thể khiến bạn không hoạt động? "


Bạn đang cho anh ta một lời khuyên tốt.
Basile Starynkevitch

14
Đây không phải là vấn đề về nguồn đóng, đó là vấn đề tiền bạc - không ai trả tiền cho các ngôn ngữ lập trình.
Pharap

8
Nếu ngôn ngữ đủ tốt để đáng đồng tiền, thì mọi người sẽ sẵn sàng trả. Tôi cá rằng ngôn ngữ không đủ tốt để có giá trị bất kỳ số tiền nào, đặc biệt là so với các lựa chọn thay thế miễn phí.
dùng253751

1
Tôi nghi ngờ bạn của bạn có thể giữ bản quyền ngôn ngữ thực tế - hãy nhìn vào phán quyết của EU đối với SAS .
Colin Pickard

7
"Không ai trả tiền cho ngôn ngữ lập trình" - ngoại trừ trong các ngành công nghiệp chuyên ngành hoặc các trường hợp sử dụng. Người mà tôi nghĩ đến là Wolfram ( wolfram.com/lingu ). Một danh sách các ngôn ngữ trả phí sẽ nêu bật các trường hợp sử dụng khác trong đó chi phí là xứng đáng.
Freiheit

Câu trả lời:


10

Câu trả lời là có hoặc không. Nó phụ thuộc vào động lực thương mại của khách hàng tiềm năng và các thuộc tính của ngôn ngữ và các vấn đề mà nó giải quyết.

Không, thế giới không cần một ngôn ngữ điện toán có mục đích chung khác được tạo bởi một cá nhân hoặc một nhóm nhỏ. Khi Perl, Python, Ruby, Java và Javascript và được tạo ra, có một khoảng trống để lấp đầy, các ngôn ngữ độc quyền rất tốn kém và rào cản gia nhập thấp. Rebol là một trong những người bắt đầu trả tiền và bây giờ là miễn phí. Nhìn vào C # và Go để xem bây giờ nó khó hơn bao nhiêu và các đội lớn hơn bao nhiêu, ngay cả đối với các ngôn ngữ ít nhiều miễn phí.

Nhưng vâng, thế giới rất cần các ngôn ngữ thích hợp để lấp đầy một loạt các vai trò cụ thể và sẽ trả tốt cho chúng. Tôi không thể trích dẫn các ví dụ của bạn bởi vì cả bạn và tôi chưa từng nghe về hầu hết chúng, nhưng chúng đang được sử dụng thường xuyên trong các tình huống chuyên môn cao và chúng kiếm tiền cho người tạo ra chúng. Giải quyết một vấn đề và bạn sẽ được trả tiền.

Vì vậy, để bạn của bạn kiếm tiền, anh ta cần một hoặc nhiều hơn ba điều.

  1. Một lĩnh vực kỹ thuật có thể xác định được mà ngôn ngữ của anh ta là giải pháp khả dụng tốt nhất, tốt nhất là có rào cản khá cao để gia nhập để làm chậm các đối thủ cạnh tranh.
  2. Một phân khúc khách hàng có thể xác định được với một vấn đề mà ngôn ngữ của anh ta có thể giải quyết cũng như khả năng trả tiền cho nó để được giải quyết.
  3. Một bộ mã được viết sẵn, tài liệu, hướng dẫn và kỹ năng sẽ cho phép khách hàng đặt nó làm việc ngay lập tức và bắt đầu giải quyết vấn đề ngay lập tức.

Các vấn đề được đề cập trong việc dựa vào các công ty nhỏ không phải là duy nhất đối với các ngôn ngữ lập trình và dễ dàng được giải quyết bằng các phương tiện thương mại.

Tiết lộ: Tôi là tác giả của một hệ thống ngôn ngữ lập trình thương mại (Powerflex) đã giúp rất nhiều người xây dựng các doanh nghiệp phần mềm. Cửa sổ đó đóng lại khi cửa sổ Internet mở ra.


20

Một ngôn ngữ không phải là nguồn mở hoặc nguồn đóng như vậy. Ví dụ, G ++ là nguồn mở trong khi MSVC ++ là nguồn đóng. ISO C ++ cũng không phải là một tiêu chuẩn không độc quyền.

Bạn của bạn có thể phát hành một triển khai không tối ưu hóa Nguồn mở và bán trình biên dịch tối ưu hóa ưa thích. Sở hữu trí tuệ thú vị sẽ không cần thiết cho việc triển khai đơn giản.

Một ngôn ngữ hiện có hoạt động với mô hình này là PHP / Zend Server


17

Liệu ngôn ngữ của anh ấy có làm được điều gì đó đủ người sẽ trả tiền không?

Đó thực sự là điều duy nhất quyết định liệu một mô hình kinh doanh có hoạt động hay không. Bạn có một thị trường rộng lớn gồm những người dùng đủ lớn để không phải lo lắng về chi phí cấp phép? Liệu các thiết bị hỗ trợ ngôn ngữ hoặc tiêu chuẩn mà khách hàng không thể sống thiếu và không có gì khác hỗ trợ? Có phải nó tuyệt vời đến mức khách hàng sẽ có thể thuê những lập trình viên giỏi nhất, sáng giá nhất và đạt được mức tăng năng suất khổng lồ chỉ bằng cách sử dụng ngôn ngữ này và quản lý có hiểu sự đánh đổi đó không?

Nếu bất kỳ điều nào trong số này hoặc bất cứ điều gì có thể so sánh là trường hợp, thì mô hình kinh doanh có thể sẽ hoạt động. Mặt khác, nó có thể sẽ không: sớm hay muộn, ai đó sẽ đưa ra một biện pháp cắt giảm chi phí liên quan đến việc chuyển sang một giải pháp thay thế rẻ hơn.


3
Những câu hỏi hay, nhưng coi đó là ngôn ngữ MỚI, phần lớn những câu hỏi đó phải được trả lời theo cách tiêu cực. Một chút giống như một thanh niên đang cố gắng để có được một công việc: làm thế nào để bạn thực hiện yêu cầu phải có kinh nghiệm khi bạn còn quá trẻ để có nó.
bugmagnet

1
Vì câu trả lời của bạn đã nhận được rất nhiều sự ủng hộ, bạn có thể vui lòng giải thích làm thế nào một ngôn ngữ có thể là nguồn đóng không?
Den

@Den bạn làm cho một điểm tốt. Điều mà bạn tôi muốn tránh, tôi cho rằng, là tình huống Microsoft nấu một ngôn ngữ giống Java, gọi nó là J ++ và sau đó bị kiện tụng với Sun về tính chất Java của nó. Làm thế nào để bạn bảo vệ một cú pháp và một phương pháp lập trình khỏi bị tấn công bởi một công ty có việc thực hiện có thể khiến bạn không hoạt động?
bugmagnet

14

Tôi tin rằng không, không có chỗ cho một ngôn ngữ mới với việc triển khai độc quyền được bán bởi một công ty nhỏ.

Đầu tiên, các nhà phát triển có nhiều triển khai ngôn ngữ "trong bia" miễn phí khác và thường là "trong lời nói" và họ sẽ không bận tâm đến việc thử một ngôn ngữ (pricy).

Thứ hai, bất kỳ người quản lý nào cũng sẽ phản đối ngay lập tức: điều gì sẽ xảy ra - với cơ sở mã của chúng tôi được mã hóa bằng ngôn ngữ mới - nếu công ty nhỏ cung cấp việc triển khai ngôn ngữ bị phá sản? Lập luận này có lẽ sẽ cấm bất cứ ai mua việc thực hiện ngôn ngữ!

Ngược lại, việc triển khai ngôn ngữ phần mềm miễn phí có thể được đánh giá cao bởi khách hàng, họ luôn có thể xử lý dịch vụ của mình cho nhà cung cấp khác, nếu công ty ban đầu đã viết nó bị phá sản.

Từ quan điểm của khách hàng, chi phí cho việc áp dụng một ngôn ngữ mới không nằm trong giấy phép thực hiện, mà nằm ở các kỹ năng cần thiết để sử dụng ngôn ngữ đó.

Và có nhiều triển khai ngôn ngữ phần mềm miễn phí gần như không được sử dụng.


5
Mặc dù chúng là một phần của các gói lớn hơn, mọi người trả tiền để sử dụng Matlab, Maple, Mathematica và UnrealScript.
Trillian

7
Nhưng đây không phải là từ một công ty nhỏ chưa biết và công ty bán chúng bắt đầu từ thế kỷ trước.
Basile Starynkevitch

3
@Trillian: mặc dù Turing đã hoàn tất, những ngôn ngữ mà bạn đề cập không phải là ngôn ngữ có mục đích chung, chúng được tạo ra đặc biệt để sử dụng trong một nền tảng cụ thể, nền tảng toán học và đồ thị trên nền tảng đầu tiên và công cụ trò chơi có ngôn ngữ cuối cùng. Những nền tảng đó là những gì làm cho các ngôn ngữ này đáng giá tiền và rắc rối khi học một ngôn ngữ mới cho những người cần các chức năng của nền tảng. Có thể cho rằng, họ không chỉ bán ngôn ngữ mà là toàn bộ nền tảng.
Lie Ryan

5

Một ngôn ngữ không thể là nguồn đóng. Trình biên dịch và thư viện thời gian chạy của nó có thể là nguồn đóng. Một ngữ pháp chính thức của một ngôn ngữ có thể được giữ bí mật và được bảo vệ về mặt pháp lý (NDA, v.v.) và các khoản phí được thu để sử dụng.

Bạn của bạn có thể yêu cầu sở hữu trí tuệ hoặc bằng sáng chế nếu ngôn ngữ quá mới và mới lạ. Bản thân tôi rất nghi ngờ rằng điều này sẽ có giá trị nỗ lực.

Ngày nay, hầu hết các công ty đều chọn các công nghệ có sẵn công khai trước tiên, bất kể công việc tốn bao nhiêu công sức để đạt được hiệu quả tương tự như cách tiếp cận nguồn đóng sẽ làm. Tiếp theo, nếu chi phí quá lớn, thì họ sẽ tìm đến một giải pháp tiêu chuẩn công nghiệp - ngôn ngữ độc quyền được tiêu chuẩn hóa (ví dụ Matlab), với sự thâm nhập và hỗ trợ tốt.

Các ngôn ngữ trong nhà thường được xây dựng dưới dạng DSL (ngôn ngữ dành riêng cho tên miền) và ngày nay, nỗ lực này nhỏ hơn so với việc mua DSL của người khác và điều chỉnh nó. Ngoài ra, DSL rất cụ thể cho miền vấn đề.

Bây giờ, chúng ta đừng ngăn cản bạn của bạn kiếm tiền từ ngôn ngữ của anh ấy. Có nhiều cách để làm điều này - bán nó cho một công ty lớn, được thành lập hoặc khiến một số nhà đầu tư mua ý tưởng và đầu tư vào nó - nhưng vấn đề chính của anh ta trong cách tiếp cận là anh ta đã phát triển một giải pháp mà không nghiên cứu vấn đề phát triển. Và đó không phải là vấn đề mà anh ta xem xét vấn đề, đó là những gì khách hàng tiềm năng của anh ta xem xét vấn đề. Vì vậy, anh ta có thể ra ngoài và nói chuyện với những người bạn này mà không cần cung cấp chi tiết về giải pháp của mình và khiến những người đó phải trả tiền - điều này không phải là không thể nhưng rất không có khả năng.


4
"Một ngữ pháp chính thức của một ngôn ngữ có thể được giữ bí mật" - làm thế nào bất cứ ai cũng có thể sử dụng một ngôn ngữ mà không biết ngữ pháp của nó?
el.pescado

2
@ el.pascado: bằng cách đảm bảo rằng bất kỳ ai muốn sử dụng ngôn ngữ đều ký NDA, điều đó thật tệ nhưng một số nhà quản lý không biết gì có thể nghĩ rằng đó là một ý tưởng hay.
Lie Ryan

3

Tôi đã có cuộc thảo luận này khi một trong những khách hàng của tôi cân nhắc phát triển các ứng dụng lớn bằng ColdFusion. Cá nhân tôi không thể nghĩ ra bất kỳ lý do nào để sử dụng CF (và trả tiền cho nó) khi tôi có thể sử dụng PHP (và không phải trả tiền cho nó). Tuy nhiên, CF có một công ty lớn đằng sau nó giúp bình định các OSS-phobiacs (đối phó với đủ các nhà quản lý CNTT và bạn chắc chắn sẽ chạy qua một số trong số đó) và đủ tốt để các nhà phát triển thực sự thích nó.

Tuy nhiên, điều tất nhiên là bạn của bạn cần đưa ra một cái gì đó đủ tốt và có đủ sự ủng hộ đằng sau nó. Cái trước không có nghĩa là lừa ngày nay với tất cả các nền tảng nguồn mở hoàn toàn xung quanh và cái sau đòi hỏi phải có sự hỗ trợ của một bên ít nhất là về quy mô, ví dụ như Adobe.

Không đề cập đến thực tế là ngay cả CF có thị phần cận biên ngày nay so với OSS.

Tóm lại, nếu bạn của bạn đủ xuất sắc để tìm ra thứ gì đó vượt trội hơn PHP, Python và bạn bè doanh nghiệp đủ hiểu biết để bán nó cho một trong những người chơi lớn hơn và có uy tín hơn trên thị trường, câu trả lời là "có thể". Nếu không, đó là một tiếng "không" vang dội.


2

Tôi nghĩ rằng câu trả lời là không có trong trường hợp này. Có một ngôn ngữ mới được điều khiển bởi một thực thể nhỏ gây ra nguy cơ cao về các lỗi nghiêm trọng hoặc các tính năng chính bị thiếu.

Nếu ngôn ngữ đó là độc quyền, thì với tư cách là người dùng, bạn hoàn toàn bị ràng buộc nếu ngôn ngữ không phát triển theo hướng bạn cần nó theo tốc độ bạn cần. Nếu ngôn ngữ là miễn phí, bạn có thể ném tiền hoặc nhân lực vào vấn đề (mà ít nhất là đối với các công ty lớn hơn là một lựa chọn).

Bạn của bạn sẽ tốt hơn nhiều khi bán các dịch vụ hoặc sản phẩm bổ sung. Cung cấp hỗ trợ, đào tạo, tư vấn. Được trả tiền để thêm các tính năng được yêu cầu cụ thể. Cung cấp công cụ (ví dụ dưới dạng các plugin thương mại cho các IDE phổ biến). Cung cấp một số thư viện theo mô hình cấp phép thương mại (nhưng vẫn có nguồn được bao gồm trong các hạn chế phù hợp).


1

Mặc dù tôi ghét làm nản lòng bạn của bạn nhưng tôi nghĩ rằng anh ta sẽ không thuyết phục được mọi người trả tiền cho các công cụ phát triển ngày nay trừ khi công cụ này mang lại năng suất rất lớn (như "sản xuất phần mềm làm việc bằng cách khiến các nhà quản lý nhìn thẳng vào mắt ở màn hình trong khi suy nghĩ những suy nghĩ tốt !!! "). Cho dù tốt hơn hay tồi tệ hơn, có rất ít thị trường cho các công cụ phát triển "trả tiền để chơi" ngày nay vì số lượng và chất lượng của các công cụ miễn phí là tuyệt vời. (Các ngôn ngữ chứng kiến ​​như Java, Ruby, Python, Clojure - IDE như Eclipse và LightTable - các cơ sở dữ liệu như MySQL và PostgreQuery - danh sách được bật và bật và bật và tắt ...). Tôi chúc anh ấy may mắn nhất với nỗ lực này.


Đối với ngôn ngữ, bạn có thể có một điểm. Dù vậy, vẫn còn một thị trường cho các công cụ phát triển trả tiền. MS, Adobe, JetBrains, v.v ... không thực sự gây tổn hại cho tiền mặt, lần cuối tôi nghe thấy. Có vẻ như có một cuộc tranh cãi ở đâu đó cho các phiên bản "lite" hoặc dùng thử miễn phí.
cHao

1

Nó có thể. Nếu nó là:

  • tốt và / hoặc đủ hữu ích
  • nếu nó được áp dụng đủ dễ dàng và
  • nếu nó không quá đắt

Trên thực tế - đối với người mới bắt đầu, nó phải thực sự mạnh về 2 mặt hàng đầu tiên và được giảm giá rất nhiều so với giá trị thực của nó.

Tôi thấy hầu hết mọi người phàn nàn về những người quản lý độc ác sẽ không muốn trả tiền mặt lớn cho nó - bạn không bao giờ nói rằng bạn của bạn đang xin một gia tài cho giấy phép. Điều gì sẽ xảy ra nếu anh ta yêu cầu 500 đô la hàng năm và nó tiết kiệm cho một số công ty vài trăm giờ làm việc mỗi năm? Bất kỳ người quản lý thông minh sẽ lấy nó.


0

Điều đó phụ thuộc vào việc ngôn ngữ có cung cấp thứ gì đó đủ khéo léo để tôi (đại diện cho khách hàng) sẵn sàng trả tiền cho nó hay không.

Là người quản lý dự án, tôi cần phải xem xét:

  • Thời gian học / làm chủ ngôn ngữ mới đó.
  • Hiệu quả đạt được (thời gian đến khi giao hàng) so với các ngôn ngữ khác. Và nó có vượt quá thời gian để học nó không?
  • Liệu ngôn ngữ này có giải quyết được một vấn đề khó có thể giải quyết bằng các ngôn ngữ khác không?
  • Ngôn ngữ này sẽ vẫn được hỗ trợ trong 5 năm nữa, khách hàng có nên đưa ra yêu cầu khác không?

3 điểm đầu tiên áp dụng cho mọi ngôn ngữ và đặc biệt là điểm đầu tiên là khó khăn để vượt qua đối với mọi ngôn ngữ mới, bởi vì tôi cần lý do thời gian có năng suất rất thấp với một thứ gì đó, và đó là một ngôn ngữ tốt.

Điểm thứ 4 là điểm chỉ áp dụng cho các ngôn ngữ nguồn đóng, như với những ngôn ngữ tôi phụ thuộc vào bên thứ 3, có thể tồn tại hoặc không tồn tại trong 5 năm kể từ bây giờ. 5 năm trước, các ứng dụng di động không phải là một vấn đề lớn như ngày nay, liệu ngôn ngữ từ đó có thích nghi với tình hình hiện tại và cho phép tôi viết ứng dụng di động không? Nó thậm chí sẽ tương thích với các yêu cầu mới? Nếu có yêu cầu như vậy đối với khách hàng của tôi, tôi có thể liên hệ với nhà phát triển ngôn ngữ đó và gửi yêu cầu nâng cấp không?

Nếu bất kỳ câu hỏi nào được trả lời bằng "không", thì đó có thể là ngôn ngữ tốt nhất trên thế giới, tôi không thể sử dụng nó. Và nếu tôi nghe nói rằng có một người duy nhất đã phát minh ra ngôn ngữ này trong "thời gian rảnh rỗi" của mình và bây giờ làm việc như một công ty độc thân, tôi sẽ rất nghi ngờ về nó và không sử dụng ngôn ngữ này, trừ khi tôi nhận được những lời hứa rất chắc chắn và ngôn ngữ cung cấp một cái gì đó không cho phép tôi làm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.