Может ли язык программирования с закрытым исходным кодом выжить? [закрыто]

12

Друг написал язык программирования. Синтаксис напоминает SGML. Он написал для нее переводчика и IDE. Он и его коллеги используют его в качестве серверного языка. Он также может быть использован для написания инструментов командной строки.

Он хочет сделать его доступным для общественности, ожидая, что люди купят лицензию на его использование. Он хочет сохранить код, выражающий реализацию языка, при себе, так как в нем заложено немало интеллектуальной собственности.

Я продолжаю говорить ему, что день языков программирования с закрытым исходным кодом прошел. Я говорю: «Посмотрите на все основные языки: подавляющее большинство из них с открытым исходным кодом. Вам также придется использовать открытый исходный код, если вы хотите, чтобы кто-то за пределами компании обращал внимание на то, что вы создали».

Я даю ему хороший совет или все еще есть место для проприетарных языков, за которые вы платите?

ПОТОМ

Ден спросил: «... не могли бы вы также объяснить, как язык может быть закрытым?»

Я сказал: «@ Вы делаете хорошую точку зрения. То, что мой друг хочет избежать, я полагаю, это ситуация, когда Microsoft готовит похожий на Java язык, называет его J ++, а затем вступает в судебный процесс с Sun по поводу его Java-ности». . Как вы защищаете синтаксис и методологию программирования от кражи со стороны компании, реализация которой может вывести вас из бизнеса? "

bugmagnet
источник
Вы даете ему хороший совет.
Василий Старынкевич
14
Это не вопрос закрытого источника, это вопрос денег - никто не платит за языки программирования.
Pharap
8
Если язык достаточно хорош, чтобы стоить денег, люди будут готовы платить. Бьюсь об заклад, язык не достаточно хорош, чтобы стоить любую сумму денег, особенно по сравнению с бесплатными альтернативами.
user253751
1
Я сомневаюсь, что ваш друг может защищать авторские права на фактический язык - посмотрите на решение ЕС по SAS .
Колин Пикард
7
«никто не платит за языки программирования» - за исключением специализированных отраслей или вариантов использования. На ум приходит Вольфрам ( wolfram.com/language ). Список платных языков выделит другие случаи использования, когда стоимость того стоит.
Freiheit

Ответы:

10

Ответ да, и нет. Это зависит от коммерческих мотивов потенциальных клиентов и атрибутов языка и проблем, которые он решает.

Нет, миру не нужен другой компьютерный язык общего назначения, созданный отдельным человеком или небольшой командой. Когда были созданы Perl, Python, Ruby, Java и Javascript, существовал вакуум для заполнения, проприетарные языки были дороги и барьер для входа был низким. Rebol - это тот, который изначально платный, а теперь бесплатный. Посмотрите на C # и Go, чтобы увидеть, насколько сложнее сейчас и насколько больше команды, даже для языков, которые более или менее бесплатны.

Но да, миру крайне необходимы нишевые языки для выполнения целого ряда конкретных ролей, и они будут хорошо за них платить. Я не могу привести вам примеры, потому что ни вы, ни я никогда не слышали о большинстве из них, но они обычно используются в узкоспециализированных ситуациях и приносят деньги своим создателям. Решите проблему, и вам заплатят.

Поэтому, чтобы ваш друг зарабатывал деньги, ему нужна одна или несколько из трех вещей.

  1. Идентифицируемая техническая ниша, для которой его язык является наилучшим доступным решением, предпочтительно с достаточно высоким барьером для входа, чтобы замедлить конкурентов.
  2. Идентифицируемый сегмент клиента с проблемой, которую может решить его язык, а также способность заплатить за решение этой проблемы.
  3. Совокупность заранее написанного кода, документации, учебных пособий и навыков, которые позволят клиентам сразу же приступить к работе и немедленно приступить к решению проблем.

Проблемы, упомянутые при использовании небольших компаний, не являются уникальными для языков программирования и легко решаются с помощью коммерческих средств.

Раскрытие информации: я являюсь автором коммерческой системы языков программирования (Powerflex), которая помогла многим людям построить бизнес программного обеспечения. Это окно закрылось, когда открылось окно Интернета.

david.pfx
источник
20

Язык не является открытым или закрытым источником как таковым. Например, G ++ является открытым исходным кодом, а MSVC ++ - закрытым. ISO C ++ - это ни то, ни другое, это несвободный непатентованный стандарт.

Ваш друг может выпустить неоптимизирующую реализацию с открытым исходным кодом и продать модный оптимизирующий компилятор. Интересная интеллектуальная собственность не понадобится для прямой реализации.

Существующим языком, который работает с этой моделью, является PHP / Zend Server.

MSalters
источник
17

Его язык делает то, за что заплатит достаточно людей?

Это действительно единственное, что решает, будет ли работать бизнес-модель. У вас есть большой рынок пользователей, которые достаточно велики, чтобы не беспокоиться о стоимости лицензирования? Поддерживает ли язык устройства или стандарты, без которых клиенты не могут жить, и которые больше ничего не поддерживают? Это настолько безумно здорово, что клиенты смогут нанимать величайших, самых ярких программистов и достигать огромного роста производительности только с помощью этого языка, и понимает ли руководство этот компромисс ?

Если что-то из этого или что-то сопоставимое имеет место, то бизнес-модель, вероятно, будет работать. В противном случае это, вероятно, не произойдет: рано или поздно кто-то придумает меру по сокращению расходов, которая включает переход на более дешевую альтернативу.

Килиан Фот
источник
3
Хорошие вопросы, но, поскольку это НОВЫЙ язык, на подавляющее большинство этих вопросов нужно ответить отрицательно. Немного похоже на подростка, пытающегося устроиться на работу: как вы выполняете требование иметь опыт, когда вы слишком молоды, чтобы его получить.
багмагнет
1
Поскольку ваш ответ получил так много откликов, не могли бы вы также объяснить, как язык может быть закрытым ?
День
@ Делай хорошую мысль. Полагаю, мой друг хочет избежать ситуации, когда Microsoft готовит язык, подобный Java, называет его J ++, а затем вступает в судебный процесс с Sun по поводу его Java-ности. Как вы защищаете синтаксис и методологию программирования от взлома компанией, внедрение которой может вывести вас из бизнеса?
багмагнет
14

Я считаю, что нет, нет места для нового языка с запатентованной реализацией, проданной небольшой компанией.

Во-первых, у разработчиков есть много других бесплатных (по крайней мере, «в пиве», а часто и «в речи») языковых реализаций, и они не будут пытаться попробовать (дорогой) язык.

Во-вторых, любой менеджер немедленно возразит: что произойдет с нашей кодовой базой, закодированной на новом языке, если маленькая компания, обеспечивающая реализацию языка, обанкротится? Этот аргумент, вероятно, запретит кому-либо покупать языковую реализацию!

В отличие от этого, реализация языка свободного программного обеспечения может быть в значительной степени оценена клиентами, которые всегда могут передать свои услуги другому поставщику, если оригинальная компания, написавшая письмо, обанкротится.

С точки зрения клиента, стоимость внедрения нового языка зависит не от лицензии на внедрение, а от навыков, необходимых для его использования.

И есть много реализаций языка свободного программного обеспечения, которые почти не используются.

Василий Старынкевич
источник
5
Хотя они являются частью более крупных пакетов, люди платят за использование Matlab, Maple, Mathematica и UnrealScript.
Триллиан
7
Но они не из небольшой неизвестной компании, а компания по их продаже началась в прошлом веке.
Василий Старынкевич,
3
@Trillian: несмотря на то, что Turing complete, те языки, которые вы упомянули, не являются языками общего назначения, они созданы специально для использования на конкретной платформе, математической и графической платформах на первом и игровом движке - на последнем. Именно благодаря этим платформам эти языки стоят денег и хлопот по изучению нового языка для людей, которым необходимы функциональные возможности платформы. Возможно, они продают не только язык, но и целую платформу.
Ли Райан
5

Язык не может быть закрытым исходным кодом. Его компилятор и библиотеки времени выполнения могут быть с закрытым исходным кодом. Формальная грамматика языка может храниться в секрете и охраняться законом (NDA и т. Д.), А сборы взимаются за использование.

Ваш друг может претендовать на интеллектуальную собственность или патент, если язык такой новый и новый. Я сам сомневаюсь, что это стоило бы усилий.

В наши дни большинство компаний выбирают общедоступные технологии в первую очередь, независимо от того, насколько трудоемкой является работа для достижения того же эффекта, что и подход с закрытым исходным кодом. Затем, если накладные расходы очень велики, они переходят на стандартное отраслевое решение - стандартизированные проприетарные языки (например, Matlab), с хорошим проникновением и поддержкой.

Внутренние языки обычно создаются как DSL (языки, специфичные для предметной области), и в наши дни усилия меньше, чем покупка DSL чужого и его адаптация. Кроме того, DSL очень специфичны для проблемной области.

Теперь давайте не отговаривать вашего друга от монетизации его языка. Есть способы сделать это - продать ее крупной, устоявшейся компании или заставить некоторых инвесторов купить идею и инвестировать в нее - но его главная проблема в подходе состоит в том, что он разработал решение, не исследуя проблему разработки. И это не проблема, что он считает проблемой, это то, что его потенциальные клиенты считают проблемой. Таким образом, он мог пойти и поговорить с этими ребятами, не раскрывая подробностей своего решения, и заставить этих ребят заплатить - это не невозможно, но не очень вероятно.

TFuto
источник
4
«Формальная грамматика языка может храниться в секрете» - как кто-либо сможет использовать язык, не зная его грамматику?
el.pescado
2
@ el.pascado: убедившись, что любой, кто хочет использовать язык, подписывает NDA, это отстой, но некоторые невежественные менеджеры могут подумать, что это хорошая идея.
Ли Райан
3

Я сам обсуждал это, когда один из моих клиентов подумывал о разработке основных приложений с использованием ColdFusion. Лично я не могу думать ни о какой причине использовать CF (и платить за это), когда я могу использовать PHP (и не платить за это). Тем не менее, за CF стоит большая компания, которая усмиряет OSS-фобии (имейте дело с достаточным количеством ИТ-менеджеров, и вы обязательно столкнетесь с некоторыми из них в конечном итоге), и это достаточно хорошо, чтобы достаточное количество разработчиков действительно предпочли это.

Однако выгода, конечно, в том, что ваш друг должен придумать что-то достаточно хорошее и иметь достаточную поддержку. В наши дни первое не является обманом для всех тщательно разработанных платформ с открытым исходным кодом, а второе требует поддержки какой-либо стороны, по крайней мере, такого размера, как, скажем, Adobe.

Не говоря уже о том, что даже CF в настоящее время имеет незначительную долю рынка по сравнению с OSS.

Таким образом, если ваш друг достаточно талантлив, чтобы придумать что-то, что затмевает PHP, Python, друзей и бизнес-профессионалов, достаточно, чтобы продать его одному из самых крупных и авторитетных игроков на рынке, ответ «возможно». В противном случае, это громкое «нет».

Фрэнк ван Венсвен
источник
2

Я думаю, что ответ определенным нет в этом случае. Наличие нового языка, управляемого небольшим объектом, вызывает высокий риск критических ошибок или пропущенных ключевых функций.

Если этот язык является проприетарным, то, как пользователь, вы абсолютно безрассудны, если язык не развивается в том направлении, в котором он вам нужен, в нужном вам темпе. Если язык бесплатный, вы можете бросить на это деньги или власть человека (что по крайней мере для крупных компаний является вариантом).

Вашему другу лучше продавать дополнительные услуги или продукты. Обеспечить поддержку, обучение, консультации. Получите оплату за добавление специально запрошенных функций. Предоставить инструменты (например, в виде коммерческих плагинов для популярных IDE). Предоставьте некоторые библиотеки в соответствии с моделью коммерческого лицензирования (но все же с источником, включенным в соответствующие ограничения).

back2dos
источник
1

Хотя я ненавижу отговаривать вашего друга, я думаю, что вряд ли ему удастся убедить людей платить за инструменты разработки в эти дни, если этот инструмент не обеспечивает невероятно огромный прирост производительности (так как он "производит" работающее программное обеспечение, заставляя менеджеров смотреть в глаза). на экране пока думаешь хорошие мысли !!! »). Что бы там ни было, в наши дни очень мало рынка для инструментов разработки с платой за игру, так как количество и качество бесплатных инструментов превосходно. (Свидетельские языки, такие как Java, Ruby, Python, Clojure - IDE, такие как Eclipse и LightTable, - базы данных, такие как MySQL и PostgreSQL - список можно продолжать и продолжать, и продолжать, и продолжать ...). Я желаю ему удачи в этом деле.

Боб Джарвис - Восстановить Монику
источник
Что касается языков, вы можете иметь точку. Однако рынок платных инструментов разработки все еще существует. MS, Adobe, JetBrains и т. Д. Точно не вредит деньгам, как я слышал. Кажется, где-то есть аргумент в пользу бесплатных "облегченных" или пробных версий.
Чао
1

Он может. Если это:

  • хорошо и / или достаточно полезно
  • если это применимо достаточно легко и
  • если это не слишком дорого

На самом деле - для начала он должен быть действительно сильным на 2 первых предметах и ​​очень дешевым по сравнению с его реальной стоимостью.

Я вижу, что большинство людей жалуются на злых менеджеров, которые не хотели бы платить за это большие деньги - вы никогда не говорили, что ваш друг просит счастья за лицензию. Что если он попросит 500 долларов в год, и это сэкономит компании пару сотен рабочих часов каждый год? Любой умный менеджер схватил бы это.

userfuser
источник
0

Это зависит от того, предлагает ли язык что-то достаточно гениальное, чтобы я (представляющий клиента) был готов заплатить за это деньги.

Как руководитель проекта, я должен принять во внимание:

  • Время, необходимое для изучения / освоения этого нового языка.
  • Повышение эффективности (время до доставки) по сравнению с другими языками. И это перевешивает время, чтобы изучить это?
  • Этот язык решает проблему, которую трудно решить с другими языками?
  • Будет ли этот язык поддерживаться через 5 лет, должен ли клиент сделать еще один запрос?

Первые 3 пункта применимы к каждому языку, и особенно первый - непросто преодолеть для каждого нового языка, потому что мне нужно чем-то аргументировать время очень низкой производительности, и это лучше быть хорошим.

Четвертый пункт - тот, который применяется только к языкам с закрытым исходным кодом, как и к тем, на которых я зависим от третьих сторон, которые могут существовать или не существовать через 5 лет. Пятью годами ранее мобильные приложения не были такими уж большими вещами, как сегодня. Будет ли язык адаптироваться к текущей ситуации и позволять мне также писать мобильные приложения? Будет ли оно совместимо с новыми требованиями? Если к моему клиенту предъявляются такие требования, могу ли я связаться с разработчиком этого языка и подать запрос на обновление?

Если на любой из этих вопросов ответят «нет», то это может быть лучший язык в мире, я не могу его использовать. И если я услышу, что есть один человек, который изобрел этот язык в свое «свободное время» и теперь работает как компания, состоящая из одного человека, я был бы очень подозрительным по этому поводу и скорее не использовал бы язык, если я не получу очень твердые обещания и язык предлагает то, что другие не позволяют мне делать.

TwoThe
источник