Друг написал язык программирования. Синтаксис напоминает SGML. Он написал для нее переводчика и IDE. Он и его коллеги используют его в качестве серверного языка. Он также может быть использован для написания инструментов командной строки.
Он хочет сделать его доступным для общественности, ожидая, что люди купят лицензию на его использование. Он хочет сохранить код, выражающий реализацию языка, при себе, так как в нем заложено немало интеллектуальной собственности.
Я продолжаю говорить ему, что день языков программирования с закрытым исходным кодом прошел. Я говорю: «Посмотрите на все основные языки: подавляющее большинство из них с открытым исходным кодом. Вам также придется использовать открытый исходный код, если вы хотите, чтобы кто-то за пределами компании обращал внимание на то, что вы создали».
Я даю ему хороший совет или все еще есть место для проприетарных языков, за которые вы платите?
ПОТОМ
Ден спросил: «... не могли бы вы также объяснить, как язык может быть закрытым?»
Я сказал: «@ Вы делаете хорошую точку зрения. То, что мой друг хочет избежать, я полагаю, это ситуация, когда Microsoft готовит похожий на Java язык, называет его J ++, а затем вступает в судебный процесс с Sun по поводу его Java-ности». . Как вы защищаете синтаксис и методологию программирования от кражи со стороны компании, реализация которой может вывести вас из бизнеса? "
Ответы:
Ответ да, и нет. Это зависит от коммерческих мотивов потенциальных клиентов и атрибутов языка и проблем, которые он решает.
Нет, миру не нужен другой компьютерный язык общего назначения, созданный отдельным человеком или небольшой командой. Когда были созданы Perl, Python, Ruby, Java и Javascript, существовал вакуум для заполнения, проприетарные языки были дороги и барьер для входа был низким. Rebol - это тот, который изначально платный, а теперь бесплатный. Посмотрите на C # и Go, чтобы увидеть, насколько сложнее сейчас и насколько больше команды, даже для языков, которые более или менее бесплатны.
Но да, миру крайне необходимы нишевые языки для выполнения целого ряда конкретных ролей, и они будут хорошо за них платить. Я не могу привести вам примеры, потому что ни вы, ни я никогда не слышали о большинстве из них, но они обычно используются в узкоспециализированных ситуациях и приносят деньги своим создателям. Решите проблему, и вам заплатят.
Поэтому, чтобы ваш друг зарабатывал деньги, ему нужна одна или несколько из трех вещей.
Проблемы, упомянутые при использовании небольших компаний, не являются уникальными для языков программирования и легко решаются с помощью коммерческих средств.
Раскрытие информации: я являюсь автором коммерческой системы языков программирования (Powerflex), которая помогла многим людям построить бизнес программного обеспечения. Это окно закрылось, когда открылось окно Интернета.
источник
Язык не является открытым или закрытым источником как таковым. Например, G ++ является открытым исходным кодом, а MSVC ++ - закрытым. ISO C ++ - это ни то, ни другое, это несвободный непатентованный стандарт.
Ваш друг может выпустить неоптимизирующую реализацию с открытым исходным кодом и продать модный оптимизирующий компилятор. Интересная интеллектуальная собственность не понадобится для прямой реализации.
Существующим языком, который работает с этой моделью, является PHP / Zend Server.
источник
Его язык делает то, за что заплатит достаточно людей?
Это действительно единственное, что решает, будет ли работать бизнес-модель. У вас есть большой рынок пользователей, которые достаточно велики, чтобы не беспокоиться о стоимости лицензирования? Поддерживает ли язык устройства или стандарты, без которых клиенты не могут жить, и которые больше ничего не поддерживают? Это настолько безумно здорово, что клиенты смогут нанимать величайших, самых ярких программистов и достигать огромного роста производительности только с помощью этого языка, и понимает ли руководство этот компромисс ?
Если что-то из этого или что-то сопоставимое имеет место, то бизнес-модель, вероятно, будет работать. В противном случае это, вероятно, не произойдет: рано или поздно кто-то придумает меру по сокращению расходов, которая включает переход на более дешевую альтернативу.
источник
Я считаю, что нет, нет места для нового языка с запатентованной реализацией, проданной небольшой компанией.
Во-первых, у разработчиков есть много других бесплатных (по крайней мере, «в пиве», а часто и «в речи») языковых реализаций, и они не будут пытаться попробовать (дорогой) язык.
Во-вторых, любой менеджер немедленно возразит: что произойдет с нашей кодовой базой, закодированной на новом языке, если маленькая компания, обеспечивающая реализацию языка, обанкротится? Этот аргумент, вероятно, запретит кому-либо покупать языковую реализацию!
В отличие от этого, реализация языка свободного программного обеспечения может быть в значительной степени оценена клиентами, которые всегда могут передать свои услуги другому поставщику, если оригинальная компания, написавшая письмо, обанкротится.
С точки зрения клиента, стоимость внедрения нового языка зависит не от лицензии на внедрение, а от навыков, необходимых для его использования.
И есть много реализаций языка свободного программного обеспечения, которые почти не используются.
источник
Язык не может быть закрытым исходным кодом. Его компилятор и библиотеки времени выполнения могут быть с закрытым исходным кодом. Формальная грамматика языка может храниться в секрете и охраняться законом (NDA и т. Д.), А сборы взимаются за использование.
Ваш друг может претендовать на интеллектуальную собственность или патент, если язык такой новый и новый. Я сам сомневаюсь, что это стоило бы усилий.
В наши дни большинство компаний выбирают общедоступные технологии в первую очередь, независимо от того, насколько трудоемкой является работа для достижения того же эффекта, что и подход с закрытым исходным кодом. Затем, если накладные расходы очень велики, они переходят на стандартное отраслевое решение - стандартизированные проприетарные языки (например, Matlab), с хорошим проникновением и поддержкой.
Внутренние языки обычно создаются как DSL (языки, специфичные для предметной области), и в наши дни усилия меньше, чем покупка DSL чужого и его адаптация. Кроме того, DSL очень специфичны для проблемной области.
Теперь давайте не отговаривать вашего друга от монетизации его языка. Есть способы сделать это - продать ее крупной, устоявшейся компании или заставить некоторых инвесторов купить идею и инвестировать в нее - но его главная проблема в подходе состоит в том, что он разработал решение, не исследуя проблему разработки. И это не проблема, что он считает проблемой, это то, что его потенциальные клиенты считают проблемой. Таким образом, он мог пойти и поговорить с этими ребятами, не раскрывая подробностей своего решения, и заставить этих ребят заплатить - это не невозможно, но не очень вероятно.
источник
Я сам обсуждал это, когда один из моих клиентов подумывал о разработке основных приложений с использованием ColdFusion. Лично я не могу думать ни о какой причине использовать CF (и платить за это), когда я могу использовать PHP (и не платить за это). Тем не менее, за CF стоит большая компания, которая усмиряет OSS-фобии (имейте дело с достаточным количеством ИТ-менеджеров, и вы обязательно столкнетесь с некоторыми из них в конечном итоге), и это достаточно хорошо, чтобы достаточное количество разработчиков действительно предпочли это.
Однако выгода, конечно, в том, что ваш друг должен придумать что-то достаточно хорошее и иметь достаточную поддержку. В наши дни первое не является обманом для всех тщательно разработанных платформ с открытым исходным кодом, а второе требует поддержки какой-либо стороны, по крайней мере, такого размера, как, скажем, Adobe.
Не говоря уже о том, что даже CF в настоящее время имеет незначительную долю рынка по сравнению с OSS.
Таким образом, если ваш друг достаточно талантлив, чтобы придумать что-то, что затмевает PHP, Python, друзей и бизнес-профессионалов, достаточно, чтобы продать его одному из самых крупных и авторитетных игроков на рынке, ответ «возможно». В противном случае, это громкое «нет».
источник
Я думаю, что ответ определенным нет в этом случае. Наличие нового языка, управляемого небольшим объектом, вызывает высокий риск критических ошибок или пропущенных ключевых функций.
Если этот язык является проприетарным, то, как пользователь, вы абсолютно безрассудны, если язык не развивается в том направлении, в котором он вам нужен, в нужном вам темпе. Если язык бесплатный, вы можете бросить на это деньги или власть человека (что по крайней мере для крупных компаний является вариантом).
Вашему другу лучше продавать дополнительные услуги или продукты. Обеспечить поддержку, обучение, консультации. Получите оплату за добавление специально запрошенных функций. Предоставить инструменты (например, в виде коммерческих плагинов для популярных IDE). Предоставьте некоторые библиотеки в соответствии с моделью коммерческого лицензирования (но все же с источником, включенным в соответствующие ограничения).
источник
Хотя я ненавижу отговаривать вашего друга, я думаю, что вряд ли ему удастся убедить людей платить за инструменты разработки в эти дни, если этот инструмент не обеспечивает невероятно огромный прирост производительности (так как он "производит" работающее программное обеспечение, заставляя менеджеров смотреть в глаза). на экране пока думаешь хорошие мысли !!! »). Что бы там ни было, в наши дни очень мало рынка для инструментов разработки с платой за игру, так как количество и качество бесплатных инструментов превосходно. (Свидетельские языки, такие как Java, Ruby, Python, Clojure - IDE, такие как Eclipse и LightTable, - базы данных, такие как MySQL и PostgreSQL - список можно продолжать и продолжать, и продолжать, и продолжать ...). Я желаю ему удачи в этом деле.
источник
Он может. Если это:
На самом деле - для начала он должен быть действительно сильным на 2 первых предметах и очень дешевым по сравнению с его реальной стоимостью.
Я вижу, что большинство людей жалуются на злых менеджеров, которые не хотели бы платить за это большие деньги - вы никогда не говорили, что ваш друг просит счастья за лицензию. Что если он попросит 500 долларов в год, и это сэкономит компании пару сотен рабочих часов каждый год? Любой умный менеджер схватил бы это.
источник
Это зависит от того, предлагает ли язык что-то достаточно гениальное, чтобы я (представляющий клиента) был готов заплатить за это деньги.
Как руководитель проекта, я должен принять во внимание:
Первые 3 пункта применимы к каждому языку, и особенно первый - непросто преодолеть для каждого нового языка, потому что мне нужно чем-то аргументировать время очень низкой производительности, и это лучше быть хорошим.
Четвертый пункт - тот, который применяется только к языкам с закрытым исходным кодом, как и к тем, на которых я зависим от третьих сторон, которые могут существовать или не существовать через 5 лет. Пятью годами ранее мобильные приложения не были такими уж большими вещами, как сегодня. Будет ли язык адаптироваться к текущей ситуации и позволять мне также писать мобильные приложения? Будет ли оно совместимо с новыми требованиями? Если к моему клиенту предъявляются такие требования, могу ли я связаться с разработчиком этого языка и подать запрос на обновление?
Если на любой из этих вопросов ответят «нет», то это может быть лучший язык в мире, я не могу его использовать. И если я услышу, что есть один человек, который изобрел этот язык в свое «свободное время» и теперь работает как компания, состоящая из одного человека, я был бы очень подозрительным по этому поводу и скорее не использовал бы язык, если я не получу очень твердые обещания и язык предлагает то, что другие не позволяют мне делать.
источник