LINUX.ORG.RU
ФорумTalks

[dreams] ОС с нативной поддержкой лицензий


0

0

Сегодня мне приснился странный мучительный сон. Несколько часов подряд раз за разом в своем сне я видел код, в который требовалось добавить... лицензию. И я никак не мог выбрать, какую же именно нужно вставить. А лицензию выбрать было необходимо, потому что без нее моя программа не запустилась бы.

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

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

Собственно, за сны ругать не положено, а делиться мнениями прямая цель любого форума. :)

Будут делать как с ядерными драйверами: указывать GPL, хотя фактически лицензия другая.

age
()
Ответ на: комментарий от age

Фактически, лицензия признается та, которая в коде забита, нет разве?

delete83 ★★
() автор топика
Ответ на: комментарий от GotF

age наверное имел в виду бинарные драйвера от nvidia и amd. Никогда не заглядывал внутрь, так что не могу ничего сказать о них. Читал только слухи, что там все полулегально и проканывает лишь из-за лояльности Линуса.

delete83 ★★
() автор топика
Ответ на: комментарий от Yareg

Внутри ядра да. Если ты пишешь модуль для ядра, то ты обязан указать лицензию. Хотя формально это можно и не делать, но тогда твой модуль у клиента может и не загрузиться. Зависит от настроек ядра. Можно указать и не GPL лицензию, а проприетарную. Тогда ядро будет ругаться, но кажется загрузит модуль. Последнее не проверял.

delete83 ★★
() автор топика
Ответ на: комментарий от Yareg

«Модуль загрязняет ядро». Это я знаю. Так значит модуль грузится?

Я же предлагаю рассмотреть фантастическую ОС в параллельном мире. Я ведь тоже прекрасно понимаю, что такие идеи не найдут воплощения в реальных ОС из-за своей ограниченности. Но вот если бы развитие IT сразу пошло по этому пути?

delete83 ★★
() автор топика
Ответ на: комментарий от Yareg

Значит это была не моя идея. Просто во время сна подсознание вытащило ее из закоулков памяти :)

delete83 ★★
() автор топика

выдыхай, бобер. лишь лишнего бардака добавит с кучей оберток.

AiFiLTr0 ★★★★★
()

Знаешь, какие есйчас существуют способы «взлома» проприетарных программ? Кроме серийников и кряков есть ещё так называемые loader'ы. Эта такая программа-прослойка, которая запускает проприетарную программу внутри себя и переписывает ей память или окружение или дисковые ресурсы (я хз, что именно). Ну так вот, твою мега-OS можно будет обмануть с помощтю простого опенсорцного лоадера, который будет пускать проприетарные программы и давать им доступ к API

name_no ★★
()

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

vurdalak ★★★★★
()
Ответ на: комментарий от name_no

А если сделать проверку на каждом вызове fork() и pthread_create()? Тогда не сработает лоадер? Средств защиты от лоадеров нет именно потому что архитектура имеющаяся не позволяет.

delete83 ★★
() автор топика

из того что я понял — вы изобрели странную смесь манифеста GNU с DRM

jeuta ★★★★
()
Ответ на: комментарий от Yareg

Был обзор на 1й тегре.
почитай, если интереснох. Плюс и на ЛОРе несколько раз поднимали тему. Для корректной работы нужно запускать кучу глючной проприетарщины, работающей через задницу, причём только для определённых версий ядра.

Shtsh ★★★★
()
Ответ на: комментарий от delete83

> А если сделать проверку на каждом вызове fork() и pthread_create()?

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

name_no ★★
()
Ответ на: комментарий от name_no

Что-то я не понимаю вашу мысль? Что значит перепишет в память? А потом попытается исполнить код в области данных? Вы же понимаете, что даже сейчас в реальном мире такое можно легко пресечь. Любой современный компьютер поддерживает разделение исполнимой памяти и памяти данных.

delete83 ★★
() автор топика

мда...
мне снились конфиги...
снились варианты выхода из геморной ситуации
снились флаги
...
но чтоб такое...

megabaks ★★★★
()
Ответ на: комментарий от delete83

> даже сейчас в реальном мире такое можно легко пресечь.

И тем самым позапрещать существование всяких интерпретаторов типа пистона и перла? Или эти штуки работают как-то иначе?

name_no ★★
()
Ответ на: комментарий от name_no

Вы сейчас затронули тему, о которой я как-то не подумал. Виртуальные машины совершенно не вписываются в мою концепцию :) Там же можно исполнять любой код. И саму машину можно лицензировать под GPL или BSDL и все будет тип-топ. Мда.

delete83 ★★
() автор топика
Ответ на: комментарий от name_no

> всяких интерпретаторов типа пистона и перла?

Плюс классический GDB, тоже под нож, в угоду лицензионной чистоте.

name_no ★★
()

>Сегодня мне приснился странный мучительный сон.

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

RCV ★★★★
()
Ответ на: комментарий от RCV

А я во сне курил донской табак. На протяжении всего сна скрывал от друзей и знакомых, выкуривал сигарету, потом полоскал рот всякими настойками с резким запахом, чтобы выбить табачный дух. Все это время меня мучал вопрос, откуда у меня зависимость от никотина, ведь я никогда не курил и сигареты на дух не переношу. Стыдно перед самим собой до ужаса было.

А ты — iPad2, iPad2. Купи его себе наяву и сни себе сны о том, как ты его продаешь — и тебе становится легче.

shimon ★★★★★
()

В федоре это уже давно реализовано, только для драйверов.

Quasar ★★★★★
()
Ответ на: комментарий от delete83

Вроде у nvidia сам модуль ядра вполне свободен. Проприетарны библиотеки

cvs-255 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.