폐쇄 소스 프로그래밍 언어가 살아남을 수 있습니까? [닫은]


12

친구가 프로그래밍 언어를 작성했습니다. SGML을 연상시키는 구문이 있습니다. 그는 통역사와 IDE를 작성했습니다. 그와 동료들은 사내 언어를 서버 측 언어로 사용합니다. 명령 줄 도구를 작성하는 데에도 사용할 수 있습니다.

그는 사람들이 라이센스를 구매하여 사용하기를 기대하면서 대중에게 공개하기를 원합니다. 그는 지적 구현이 상당히 복잡하기 때문에 언어 구현을 표현하는 코드를 자신에게 유지하려고합니다.

저는 그에게 폐쇄 소스 프로그래밍 언어의 시대가 끝났다고 계속 말했습니다. "모든 주요 언어를 살펴보십시오. 대다수가 오픈 소스입니다. 회사 외부에있는 사람이 여러분이 구축 한 것에주의를 기울이려면 오픈 소스로 가야합니다."

나는 그에게 좋은 충고를하고 있습니까 아니면 당신이 지불하는 독점 언어를위한 여지가 여전히 있습니까?

나중

Den은 "... 어떻게 언어를 닫을 수 있는지 설명해 주시겠습니까?"

"@ 좋은 지적을합니까? 제 친구가 피하고 싶은 것은 Microsoft가 Java와 유사한 언어를 요리하고 J ++라고 부르고 Java와 관련하여 Sun과 소송을 벌이는 상황입니다. "구현으로 인해 비즈니스에서 벗어날 수있는 회사가 구문과 프로그래밍 방법론을 가로 채지 못하도록 어떻게 보호합니까?"


당신은 그에게 좋은 조언을하고 있습니다.
Basile Starynkevitch

14
그것은 폐쇄 소스의 문제가 아니며, 돈의 문제입니다. 아무도 프로그래밍 언어에 대한 비용을 지불하지 않습니다.
Pharap

8
언어가 돈을 쓸만한 가치가 있다면 사람들은 기꺼이 지불 할 것입니다. 나는 언어가 특히 무료 대안과 비교할 때 돈의 가치가있을만큼 충분하지 않다고 생각합니다.
user253751

1
친구가 실제 언어로 저작권을 가질 수 있을지는 의문 입니다. SAS의 EU 판결을보십시오 .
콜린 피커드

7
"전문가 또는 유스 케이스를 제외하고는 아무도 프로그래밍 언어에 대한 비용을 지불하지 않습니다". 떠오르는 것은 Wolfram ( wolfram.com/language )입니다. 유료 언어 목록은 비용이 가치가있는 다른 사용 사례를 강조합니다.
Freiheit

답변:


10

대답은 '그렇다'입니다. 그것은 잠재 고객의 상업적 동기와 언어의 속성 및 해결되는 문제에 달려 있습니다.

아닙니다. 세상에는 개인 또는 소규모 팀이 만든 다른 범용 컴퓨팅 언어가 필요하지 않습니다. Perl, Python, Ruby, Java 및 Javascript 및 작성시 작성해야 할 진공이 있었고, 독점 언어는 비쌌으며 진입 장벽은 낮았습니다. Rebol은 유료로 시작되었으며 이제 무료입니다. C #을보고 Go가 얼마나 어려운지, 팀이 얼마나 큰지, 심지어 훨씬 더 자유로운 언어의 경우에도 확인하십시오.

그러나 그렇습니다. 전 세계가 특정 범위의 역할을 모두 수행하기 위해서는 틈새 언어가 절실히 필요합니다. 나는 당신이나 내가 들어 본 적이 없기 때문에 예제를 인용 할 수는 없지만, 그들은 매우 특수한 상황에서 일상적으로 사용되고 있으며 제작자를 위해 돈을 벌고 있습니다. 문제를 해결하면 돈을받습니다.

따라서 친구가 돈을 벌려면 세 가지 중 하나 이상이 필요합니다.

  1. 자신의 언어가 최상의 솔루션이 될 수있는 식별 가능한 기술 틈새, 바람직하게는 경쟁사를 둔화시키기위한 진입 장벽이 상당히 높습니다.
  2. 자신의 언어로 해결할 수있는 문제가있는 식별 가능한 고객 세그먼트와이를 해결하기위한 지불 능력.
  3. 사전 작성된 코드, 문서, 튜토리얼 및 기술로 고객이 즉시 작업하고 문제 해결을 즉시 시작할 수 있습니다.

소규모 회사에 의존 할 때 언급 된 문제는 프로그래밍 언어에만 국한된 것이 아니며 상업적 수단으로 쉽게 해결할 수 있습니다.

공개 : 저는 많은 사람들이 소프트웨어 비즈니스를 구축하는 데 도움이되는 상용 프로그래밍 언어 시스템 (Powerflex)의 저자입니다. 인터넷 창이 열리면서 해당 창이 닫힙니다.


20

언어는 오픈 소스 나 비공개 소스가 아닙니다. 예를 들어, G ++는 오픈 소스이고 MSVC ++는 닫힌 소스입니다. ISO C ++는 비 독점 비 독점 표준이 아닙니다.

친구가 오픈 소스 비 최적화 구현을 출시하고 멋진 최적화 컴파일러를 판매 할 수 있습니다. 간단한 구현에는 흥미로운 지적 재산이 필요하지 않습니다.

이 모델에서 작동하는 기존 언어는 PHP / Zend Server입니다.


17

그의 언어는 충분한 사람들이 지불 할 수있는 일을합니까?

이것이 비즈니스 모델의 작동 여부를 결정하는 유일한 방법입니다. 라이센스 비용에 대해 걱정할 필요가없는 대규모 사용자 시장이 있습니까? 이 언어는 고객이 살 수없는 장치 나 표준을 지원합니까? 그것은 고객이 바로이 언어를 사용하여 가장 큰, 가장 밝은 프로그래머를 고용하고 엄청난 생산성 향상을 달성 할 수 있도록 미친 듯이 큰이며, 관리는 트레이드 오프를 이해 않습니다 ?

이 중 하나라도 비슷한 경우 비즈니스 모델이 작동합니다. 그렇지 않으면 아마 그렇지 않을 것입니다 : 조만간 누군가 는 더 저렴한 대안으로 전환하는 비용 절감 조치를 취할 것입니다 .


3
좋은 질문이지만, 새로운 언어이므로 많은 질문에 부정적인 대답을해야합니다. 직장을 구하려는 젊은이와 비슷합니다. 너무 어렸을 때 경험을 갖기위한 요구 사항을 어떻게 충족시킬 수 있습니까?
bugmagnet

1
귀하의 답변에 많은 찬사를 받았으므로 언어폐쇄 소스 만드는 방법을 설명해 주 시겠습니까?
Den

@ 좋은 지적을 했어요. 제 친구가 피하고 싶은 것은 마이크로 소프트가 자바와 비슷한 언어를 요리하고이를 J ++라고 부르고 자바와 관련하여 썬과 소송을 벌이는 상황이라고 생각합니다. 구현으로 인해 비즈니스가 중단 될 수있는 회사가 구문 및 프로그래밍 방법론을 가로채는 것을 어떻게 방지합니까?
bugmagnet

14

저는 소규모 회사에서 독점적으로 구현 한 새로운 언어를 사용할 여지가 없다고 생각합니다.

첫째, 개발자들은 다른 많은 무료 언어 (적어도 "맥주"로, 종종 "음성"으로)를 구현하며, (주로) 언어를 시도하지 않아도됩니다.

둘째, 모든 관리자는 즉시 이의를 제기합니다. 언어 구현을 제공하는 소규모 회사가 파산하면 새로운 언어로 코딩 된 코드베이스에 어떤 일이 발생합니까? 이 주장은 아마도 누군가 언어 구현을 구매하는 것을 금지 할 것입니다!

반면, 무료 소프트웨어 언어 구현은 고객이 철저하게 평가할 수 있으며, 원래 회사가 작성한 회사가 파산하는 경우 항상 다른 공급자에게 서비스를 처리 할 수 ​​있습니다.

고객의 관점에서 볼 때 새로운 언어를 채택하는 비용은 구현 라이센스가 아니라 언어를 사용하는 데 필요한 기술에 달려 있습니다.

그리고 거의 사용되지 않는 많은 무료 소프트웨어 언어 구현이 있습니다.


5
더 큰 패키지의 일부이지만 사람들은 Matlab, Maple, Mathematica 및 UnrealScript를 사용하기 위해 비용을 지불합니다.
트릴리언

7
그러나 이들은 알려지지 않은 작은 회사가 아니며, 판매 한 회사는 지난 세기에 시작되었습니다.
바 실레 Starynkevitch

3
@Trillian : Turing complete에도 불구하고, 언급 한 언어는 범용 언어가 아니며, 특정 플랫폼, 수학 및 그래프 플랫폼에서 사용하기 위해 특별히 만들어졌으며 게임 엔진이 마지막에 도달했습니다. 이러한 플랫폼은 이러한 언어로 돈을 쓸 가치가있게되었으며 플랫폼의 기능이 필요한 사람들을 위해 새로운 언어를 배우는 번거 로움이되었습니다. 아마도 그들은 언어 만 판매하는 것이 아니라 전체 플랫폼을 판매하고 있습니다.
Lie Ryan

5

언어는 비공개 소스 일 수 없습니다. 컴파일러와 런타임 라이브러리는 비공개 소스 일 수 있습니다. 언어의 공식 문법은 비밀로 유지 될 수 있으며 법적 보호 (NDA 등) 및 사용 요금이 징수됩니다.

친구가 언어가 너무 새롭고 참신한 경우 지적 재산이나 특허권을 주장 할 수 있습니다. 나는 이것이 노력할만한 가치가 있다고 의심합니다.

오늘날 대부분의 회사는 공개 소스 접근 방식과 동일한 효과를 달성하기 위해 많은 노력을 기울이더라도 공개 기술을 먼저 선택합니다. 다음으로 오버 헤드가 너무 크면 침투 및 지원이 잘되는 표준화 된 독점 언어 (예 : Matlab)로 산업 표준 솔루션으로 이동합니다 .

사내 언어는 일반적으로 DSL (도메인 특정 언어)로 구축되며 요즘 다른 사람의 DSL을 구입하여 적용하는 것보다 노력이 적습니다. 또한 DSL은 문제 영역에 따라 매우 다릅니다.

이제 친구가 자신의 언어로 수익을 창출하지 못하게하십시오. 이를 위해서는 대규모의 기존 회사에 판매하거나 일부 투자자가 아이디어를 구매하여 투자하도록하는 방법이 있지만 접근 방식의 주요 문제는 개발 문제를 연구하지 않고 솔루션을 개발 한 것입니다. 그리고 그것은 그가 문제 고려하는 문제가 아니라, 그의 잠재 고객 이 문제를 고려하는 것입니다. 그래서 그는 자신의 솔루션에 대한 세부 정보를 제공하지 않고 동료들과 대화를 나눌 수 있었고 그 사람들에게 돈을 지불 할 수는 없었습니다.


4
"언어의 공식 문법은 비밀로 유지 될 수 있습니다"-문법을 모르는 사람이 어떻게 언어를 사용할 수 있을까요?
el.pescado

2
@ el.pascado : 언어를 사용하려는 사람은 누구나 NDA에 서명을함으로써 확실하지만 일부 우둔한 관리자는 좋은 생각이라고 생각할 수 있습니다.
Lie Ryan

3

내 고객 중 한 명이 ColdFusion을 사용하여 주요 응용 프로그램 개발을 고려할 때이 토론을 직접했습니다. 개인적으로 PHP를 사용할 수 있고 지불하지 않을 때 CF를 사용하고 지불 해야하는 이유를 생각할 수 없습니다. 그러나 CF에는 OSS 공포증을 완화시키는 대기업이 있습니다 (IT 관리자가 충분해야하며 결국 일부 관리자를 대상으로해야합니다). 많은 개발자가 실제로 그것을 선호 할 정도로 충분합니다.

그러나 어획량은 물론 친구가 충분히 좋은 것을 뒷받침해야합니다. 전자는 요즘 완전히 공개 된 모든 오픈 소스 플랫폼을 사용하는 것은 속임수가 아니며, 후자는 최소한 Adobe와 같은 규모의 당사자를 지원해야합니다.

CF조차 요즘 OSS에 비해 시장 점유율이 낮다는 사실은 말할 것도 없습니다.

요약하면, 친구가 PHP, Python 및 친구 비즈니스 를 능가하는 것을 능가 하여 시장에서 더 크고 평판이 좋은 플레이어 중 한 명에게 팔 수있을만큼 훌륭하다면 대답은 "아마도"입니다. 그렇지 않으면, 그것은 "아니오"소리입니다.


2

이 경우 대답은 확실한 아니오라고 생각합니다. 소규모 실체 가 주도 하는 새로운 언어를 사용 하면 중요한 버그 나 주요 기능이 손실 될 위험이 높습니다.

해당 언어가 독점적이라면, 사용자가 원하는 속도로 원하는 방향으로 언어가 진화하지 않으면 사용자는 절대적으로 망하게됩니다. 언어가 자유롭다면 문제에 돈이나 인력을 투입 할 수 있습니다 (적어도 대기업에게는 선택 사항입니다).

보완 서비스 나 제품을 판매하는 것이 훨씬 나을 것입니다. 지원, 교육, 컨설팅을 제공합니다. 특별히 요청 된 기능을 추가하면 비용을 지불하십시오. 툴링 제공 (예 : 널리 사용되는 IDE 용 상용 플러그인 형태). 상업용 라이센스 모델로 일부 라이브러리를 제공하십시오 (그러나 여전히 적절한 제한에 따라 소스가 포함됨).


1

친구를 실망시키기는 싫지만,이 도구가 엄청나게 많은 생산성 향상을 제공하지 않는 한, 사람들이 개발 도구에 대한 비용을 지불하도록 설득 할 가능성은 거의 없습니다. 좋은 생각을하는 동안 화면에서 !!! "). 무료 도구의 양과 품질이 우수하기 때문에 요즘에는 "플레이 지불"개발 도구 시장이 거의 없습니다. (Java, Ruby, Python, Clojure와 같은 증인 언어-Eclipse 및 LightTable과 같은 IDE-MySQL 및 PostgreSQL과 같은 데이터베이스-목록은 계속해서 계속됩니다.) 이 노력으로 그에게 최고의 행운이 있기를 바랍니다.


언어에 관해서는 요점이있을 수 있습니다. 그래도 유료 개발 툴 시장은 여전히 ​​존재한다. MS, Adobe, JetBrains 등은 현금으로 정확히 아프지 않습니다. 어딘가에 무료 "lite"또는 시험판 버전에 대한 논거가있는 것 같습니다.
cHao

1

할 수 있습니다. 그렇다면 :

  • 좋고 유용합니다
  • 충분히 쉽게 적용 할 수 있다면
  • 너무 비싸지 않으면

실제로-초보자에게는 2 개의 첫 번째 항목에서 실제로 강력해야하며 실제 가치와 비교하여 매우 할인되어야합니다.

나는 대부분의 사람들이 악의 관리자에 대해 큰 현금을 지불하고 싶지 않다고 불평하는 것을 본다. 그가 매년 500 달러를 요구하고 매년 몇백 시간의 노동 시간을 절약한다면 어떨까요? 모든 똑똑한 관리자가 그것을 잡을 것입니다.


0

언어가 내가 (고객을 대표하는) 돈을 기꺼이 지불 할만큼 독창적 인 것을 제공하는지의 여부에 달려 있습니다.

프로젝트 관리자로서 다음 사항을 고려해야합니다.

  • 새로운 언어를 배우거나 습득하는 데 걸리는 시간.
  • 다른 언어와 비교하여 효율성 향상 (배달까지의 시간). 그리고 그것을 배우는 시간을 초과합니까?
  • 이 언어는 다른 언어로는 해결할 수없는 문제를 해결합니까?
  • 고객이 다른 요청을해도 5 년 후에도이 언어가 계속 지원됩니까?

처음 3 점은 모든 언어에 적용되며 특히 첫 번째 점은 모든 새로운 언어에 대해 극복하기가 어렵습니다. 왜냐하면 생산성이 매우 낮은 시간을 무언가로 추론해야하기 때문입니다.

네 번째 요점은 폐쇄 형 언어에만 적용되는 것입니다. 제 3 자에 의존하는 사람들과 마찬가지로 5 년 후에 존재하거나 존재하지 않을 수 있습니다. 5 년 전부터 모바일 앱은 오늘날처럼 크지 않았습니다. 언어가 현재 상황에 적응하고 모바일 앱을 작성할 수 있습니까? 새로운 요구 사항과도 호환됩니까? 고객에게 이러한 요구 사항이있는 경우 해당 언어의 개발자에게 문의하여 업그레이드 요청을 제출할 수 있습니까?

이러한 질문 중 하나라도 "아니오"로 대답하면 세계 최고의 언어가 될 수 있으므로 사용할 수 없습니다. 그리고 자신의 "예비 시간"에이 언어를 발명 한 사람이 지금은 한 사람의 회사로 일하고 있다고 들었다면, 나는 확고한 약속을 얻지 않는 한, 그 언어에 대해 매우 의심스러워하고 그 언어를 사용하지 않을 것입니다 언어는 다른 어떤 것도 할 수없는 것을 제공합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.