Сегодня мне приснился странный мучительный сон. Несколько часов подряд раз за разом в своем сне я видел код, в который требовалось добавить... лицензию. И я никак не мог выбрать, какую же именно нужно вставить. А лицензию выбрать было необходимо, потому что без нее моя программа не запустилась бы.
Проснулся под утро совершенно измученный этим сном и пошел завтракать. Пока пил молоко, пришла в голову мысль о новой операционной системе с необычным подходом к API. Суть иди такая: сама ОС является свободной (а как же иначе? Мы же тут все поклонники OSS), а вот ее API делится на две категории. Первая категория может использоваться только в программах под свободными лицензиями. Вторая категория доступна всем программам, в том числе и проприетарным. Реализуется это посредством особой структуры исполняемого формата для этой платформы. Если в приложении не указана лицензия, оно не запустится вообще. Если указана лицензия, ей будет предоставлен доступ только к тому API, к которому доступ разрешен в соответствии с выбранной лицензией.
Само по себе это условие на обязательность лицензии дисциплинирует разработчиков и заставляет их заранее обдумывать, как же они собираются распространять свою программу. И решает вопрос с легальностью использования старых версий программы, если в более новых версиях сменилась лицензия. Как бонус, можно вообще избавиться от проблемы защиты программ проприетарных. Создать что-то вроде банка приобретенных лицензий и интегрировать его в ОС. При запуске приложения система считывает лицензию из исполнимого фала и ищет ее в базе. Если находит, то можно запускать, иначе... бортанет.
Собственно, за сны ругать не положено, а делиться мнениями прямая цель любого форума. :)