Я работаю в научно-исследовательском институте, сильно зависящем от высокопроизводительных вычислений. За 10 лет мы разработали наш собственный код на Фортране, который очень хорошо ценится и может работать на очень больших кластерах. Для того, чтобы более широкое исследовательское сообщество получило пользу от кода, мы рассматриваем возможность сделать его открытым исходным кодом. Однако, поскольку наше финансирование в значительной степени зависит от исследований, которые мы можем выполнить с помощью кода, мы бы как бы стреляли себе в ногу.
Одна из идей состоит в том, чтобы ограничить количество процессоров, на которых может выполняться код, например, максимум 1000 процессоров вместо 100 000, которые мы используем. Таким образом, глобальное исследовательское сообщество может извлечь выгоду из кода, но у нас будет преимущество в размере проблем, которые мы можем выполнить.
Возможна ли такая особенность концептуально? И как можно реализовать такую функцию? По сути, мы хотели бы открыть полный код с открытым исходным кодом, но ограничить распараллеливание (используя MPI) фиксированным числом потоков MPI, например, используя модуль (с закрытым исходным кодом).
источник
Ответы:
Вы пытаетесь дать пользу сообществу исследователей, позволяя им делать то, что вы делаете, не позволяя им делать то, что вы делаете. Похоже, вы еще не сделали принципиальный выбор.
Подобные программные решения в программном обеспечении с открытым исходным кодом вряд ли будут работать: в конце концов, код с открытым исходным кодом. Первое, что сделают другие учреждения, это вырвет бит с закрытым исходным кодом, заменит его битом с открытым исходным кодом без такого ограничения, и тогда все будут его использовать.
Там может быть компромисс возможно: не с открытым исходным кодом программного обеспечения, но лицензии продают. Учреждения с лицензиями также получают право читать и изменять код, но не распространять его. Зарядка на ежегодной основе. Таким образом, вы можете восполнить потери в финансировании, взяв некоторые из них.
Другой вариант - выпустить более старую версию, которую вы постоянно обновляете, но всегда отстаете на несколько лет. Тем не менее, сообщество разработчиков программного обеспечения с открытым исходным кодом может взяться за проект и разработать новые функции быстрее, чем вы (или нет); большинство людей переоценивают интерес других к их программному обеспечению).
Или просто выпустите это и используйте работу, которую другие делают над этим. Вы всегда будете лучшими экспертами по программному обеспечению.
источник
Это не может быть сделано на самом деле.
Идея открытого исходного кода заключается в том, что источник является открытым , иными словами, люди будут иметь к нему доступ. Из Википедии :
Предоставляя универсальный доступ к дизайну или проекту, даже если выпущенная версия ограничена только 1000 ядрами, было бы очень просто просто изменить это число на 100000 или что-то еще.
Вот несколько вариантов того, что вы могли бы сделать вместо этого:
источник
Вы можете сделать очень мало, чтобы ограничить то, что другие будут делать с вашим исходным кодом. Они могут создать еще один модуль с нуля, который может разблокировать многопроцессорность или даже улучшить ее: это потребует времени и опыта, но если это важно для них, они это сделают.
С началом работы в течение десяти лет у вас все еще есть возможность использовать свой опыт и знания кода, чтобы продолжать проводить лучшие исследования, даже если вы даете другим исходный код, который позволяет им повторить ваши эксперименты. У ваших спонсоров может быть даже больше причин обратиться к вам, поскольку ваше влияние на исследования может быть больше, если вы являетесь руководителем проекта с открытым исходным кодом, который используется в нескольких университетах.
Вместо открытого исходного кода вы можете попытаться ограничить других на законных основаниях, опубликовав свой источник, но наложив собственные ограничения на исходную лицензию. Я могу вспомнить несколько проектов, которые сделали это: Ghostscript, AT & T Unix, Microsoft .NET и Xerox PARC Smalltalk-80. В то время как те в конечном итоге стали полностью открытыми, я ожидаю, что есть и другие, менее известные, которые все еще накладывают ограничения на то, как лицензиаты используют исходный код. Конечно, хотя публикация вашего источника будет означать, что люди с меньшим уважением к закону могут нарушать условия, это должно помешать добросовестным ученым-исследователям запускать ваш код на суперкомпьютерах так же мощно, как и ваш.
источник