У каждой платформы свои традиции в отношении гуев, лицензии и платности.
- Linux-based - бесплатно, открыто, иногда свободно, GPL/MIT/Apache. Интерфейс «сделейте меня развидеть это» на GTK и Qt, ШГ.
- Винда - платно и условно бесплатно (демки, триалы, «облегченные» версии), закрыто, EULA. Интерфейс приличный на вендофреймворке (winapi, windows forms, windows presentation foundation) и неприличный на HTML5/JS, ШГ с cleartype.
- Мак - сурово платно (или сурово халявно BSD/MIT/Apache). Интерфейс отличный на макофреймворке, Ш не Г. GPL considered harmful.
Чтобы сделать кроссплатформенную прогу и никого не обидеть, надо что-то общее выделить.
Вот что надумалось:
- Платность: платно по усмотрению автора. На Linux-based - бесплатно, на свиндовсе - по-разному (демки, «облегченные» версии), на маке - только платно. Каждой платформе — по делам и словам ее.
- Открытость: EULA по которой код и ресурсы полностью открыты на чтение, но без возможности использования. Для использования нужно предварительное письменное или электронно-письменное разрешение. В том числе для совместимости с политикой Apple. Из «совместимых» лицензий - MIT/BSD/Apache, LGPL в случаях когда вообще не обойтись без нее. Для пущего эффекту — выложить на гитхабе в режиме «только для чтения».
- Открытость участия: коммиты принимаются, но с отчуждением авторства. Коммитер подписывает бумажку, по которой он передает все права кроме собственно авторства авторам проекта, имя автора коммита остается в исходниках или на доске почета (в случае, если код автора окончательно выпилен из проекта - чтобы о нем осталась память). В случае использования гитхаба, pull requests рассматриваются, но отзываются (чтобы не накосячить с юридическими тонкостями).
- Платформа/язык/интерфейс: Платформа - нативная, гуй - нативный, логика - кроссплатформенная на C++, C#, Java, Python, JS. В запущенных случаях - полностью кроссплатформенные комбинации из набора: Qt/C++/Qt | Mono/C#/GTK# | Java/JVM-based(Java,Scala,Clojure)/SWT,(HTML5/CSS/JS) | Python/Python/GTK,(HTML5/CSS/JS) | %browsername%,qtwebkit,nodejs/JS/(HTML5/CSS/JS)
Устраивает ли дам и господ сего форума такой расклад? Никто не будет кричать «мои права ущемили»?
Что хотел спросить: посоветуйте хороший пример практики «отчуждения коммитов». Лицензию. Описание механики и юридических тонкостей, если есть. Говорят, в OpenOffice так делали.