Patches Welcome

Материал из Руководство по OpenKore
Перейти к: навигация, поиск

Лицензия

OpenKore распространяется по лицензии GNU General Public License. Короче говоря:

  • любой вправе изменять OpenKore
  • любой вправе распространять изменённую OpenKore, если изменённые исходники также распространяются в полном объёме и лицензия остаётся неизменной

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

Внесение изменений

Существует два способа внесения изменений в OpenKore: плагины и патчи.

Плагин

Плагин - это запускаемый OpenKore скрипт на Perl, и взаимодействующий с ней посредством т.н. хуков (hook). Плагины и OpenKore используют один и тот же интерпретатор Perl, что даёт плагинам доступ ко внутренностям OpenKore и таблицам символов (symbolic table) и позволяет изменить практически всё, что угодно.

Преимущества плагинов перед патчами:

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

Чтобы поделиться плагином, разместите плагин и руководство к нему в соответствущем разделе на форуме, типа "Плагины" или "Макросы и Плагины".

Плагины можно добавлять в svn-репозиторий OpenKore. Для добавления плагина в репозиторий получите право на запись или попросите кого-нибудь с таким правом добавить плагин.

Патч

Патч - это прямое изменение исходников OpenKore. В первую очередь это требуется для исправления ошибок.

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

Вместо этого, разместите на форуме diff-файл и укажите совместимую с патчем ревизию OpenKore.

Преимущества diff-файлов:

  • Патч, скорее всего, будет легкоприменим и к последующим ревизиям.
  • Изменённая патчем OpenKore может быть обновлена дальше без вреда для патча.
  • Вносимые патчем изменения легко иследовать и понять, что приводит к здравой реакции на форуме.
  • Разработчикам легче будет внести патч в репозиторий.

Пользуйтесь svn-клиентом или другими программами, чтобы создавать и применять diff-файлы.