Являются ли сценарии «открытым исходным кодом» по определению?[закрыто]

StackOverflow https://stackoverflow.com/questions/426932

  •  06-07-2019
  •  | 
  •  

Вопрос

На днях я подправил сценарий для аддона World of Warcraft, созданного другом.Он был удивлен, что вы можете редактировать аддоны - что они были «открытым исходным кодом». (Аддоны Word of Warcraft написаны на языке сценариев Lua) Я обнаружил, что хочу сказать: «Конечно, вы можете - все сценарии -« открытый исходный код »».

Это правда?Конечно, некоторые сценарии можно скомпилировать в байт-код, но разве почти все сценарии не интерпретируются?То есть, разве устройству, интерпретирующему сценарий, не нужен «источник» по определению?

Это было полезно?

Решение

Это зависит от того, как вы интерпретируете " с открытым исходным кодом ".

Конечно, у вас есть исходный код, но обычно это не совсем то, что означает Open Source. Обычно открытый источник относится к лицензированию. Чтобы иметь что-то "с открытым исходным кодом" означает, что вы можете изменять исходный код для любых целей, в том числе распространять его во многих случаях.

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

Другие советы

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

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

Нет.

«Открытый исходный код» — это не то же самое, что возможность просмотра исходного кода;Лицензирование открытого исходного кода касается юридическое право извлекать произведения из этого исходного кода.

Если вы берете чужую работу, изменяете и распространяете ее без явного согласия, то вы нарушаете их авторские права и Нарушать закон.

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

На основании авторских прав & amp; лицензирование, многие сценарии не с открытым исходным кодом.

Как отмечают многие, тот факт, что у вас есть доступ к источнику, не дает вам права поступать с ним по своему усмотрению.

Ты спрашиваешь

Разве почти все сценарии не интерпретируются?То есть, разве устройству, интерпретирующему сценарий, не нужен «источник» по определению?

Нет.Даже в переводчике источник перед интерпретацией проходит несколько преобразований.Форма, которая в конечном итоге интерпретируется, часто представляет собой последовательность инструкций для виртуальной машины на основе стека или регистра;такие инструкции обычно называются «байт-кодом».Также возможно интерпретировать внутренние деревья относительно эффективно.Переводчики, предназначенные в первую очередь для учебных целей, могут использовать еще менее эффективные схемы.

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

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

  • Внутренняя форма защищает исходный код от посторонних глаз.

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

В частном случае Lua luac компилятор запишет байт-код на диск.Он используется редко, поскольку байт-коды непереносимы и компилятор уже достаточно быстр.В конкретном случае World of Warcraft они на самом деле поощрение людей использовать Lua для изменения интерфейса и персонализировать опыт;они хотят, чтобы все делились кодом и поэтому сохраняли его открытым исходным кодом.У WoW более 10 миллионов подписчиков, и не менее 5000 человек внесли свой код.так что это полпроцента пользователей, которые внесли некоторый код, что дает мне радостные мысли о будущем программирования как профессии.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top