Евгений I AM CATAR Михайлин
пише?23 июл 2007 в 11:33
открытый код - это понятие неопределенное. Есть разные лицензии. GPL например требует чтобы код, который включает себя GPLный код, тоже должен быть под лицензией GPL. (более точно - читать лицензию). Есть лицензии которые позволяют использовать выпущенный под ними код в закрытых коммерческих разработках.
Если рассматривать в контексте популярных открытых Unix-подобных систем (Linux, xBSD), то да, можно добавлять новые куски к ОС, изменять существующее. Не факт, что твой коммит будет принят сообществом разработчиков в официальное дерево исходников, но для себя делать никто не мешает. Сообственно таким макаром эти системы и разрабатываются - есть основная команда (которая занимается только системой) и есть куча людей по всему миру, которые помогают. Засчет этого развитие идет как правило быстрее чем для закрытых систем.
Касаемо декомпиляции - а не всегда она вообще возможна, даже для байткодов JVM\CLR, для которых она обычно вообще без проблем проходит -то есть x == decompile(compile(x))