19-летняя студентка факультета информационных технологий, скрывающаяся под псевдонимом rxrz, загрузила на GitHub проприетарный исходный код драйвера файловой системы Extended FAT, защищенной патентом Microsoft. Исходный код драйвера exFAT был извлечен из продукта Samsung, где по умолчанию входил в код ядра Linux, из-за чего, по мнению выложившей его активистки, де-факто должен считаться открытым.
Исходники драйвера были выложены на GitHub еще месяц назад, однако новость об утечке расползлась по Linux-форумам лишь на этой неделе. Разработчица случайно обнаружила драйвер exFAT, файловой системы для флэш-накопителей цифровых камер и смартфонов, в коде ядра Linux для Samsung Galaxy Tab 10. К тому моменту исходный код ядра находился в свободном доступе на GitHub уже несколько месяцев и определенно был выложен туда самими разработчиками Samsung.
Samsung лицензирует исходный код exFAT у Microsoft, чтобы обеспечить поддержку файловой системы в своих мобильных устройствах. ExFAT имеет нативную совместимость с Windows и OS X, благодаря чему пользователи этих ОС могут безопасно переносить данные на флэш-накопители под ее управлением.
При этом из-за высокой стоимости лицензии и закрытого кода поддержка exFAT официально отсутствует в ядре Linux, за исключением адаптированных драйверов в мобильных и встраиваемых сборках от Samsung, Blackberry или Sharp.
«Я подумала, что все больше и больше людей по всему миру, используя Linux, оказываются в несправедливом положении, когда им даже неизвестно, что для этого драйвера существует исходный код на GitHub», — поясняет rxrz.
Разработчица проверила официальный исходный код Galaxy Tab и обнаружила, что папка exFAT отсутствует во всех архивах. Поэтому, обнаружив один из адаптированных драйверов, она приняла решение создать на GitHub отдельный репозиторий, в котором и разместила исходники драйвера под лицензией GPL.
Неправомерным свой поступок разработчица не считает. «Я полагаю, что вина за каждую утечку кода лежит на разработчике», — заявила она. «Все, что я сделала — наконец-то дала сообществу разработчиков открытого ПО и пользователям Linux/Android возможность обмениваться данными со всеми популярными ОС без существенного ущерба производительности», - добавляет разработчица в анонсе кода на GitHub.
Вдобавок к этому, изучение утекшего в сеть кода участниками сообщества открыло потенциальное нарушение лицензии GPL. Читатели дискуссионного форума Phoronix обнаружили, что код драйвера содержит в себе фрагменты, идентичные некоторым частям ядра Linux. К примеру, код содержит в себе комментарий вида “timestamp is already written, so mark_inode_dirty() is unneeded”, который, вкупе с соответствующим фрагментом кода, присутствует в ядре Linux с 2005 года.
Microsoft, непосредственный разработчик exFAT, заявила, что утечка драйвера ей ничем не повредила. «exFAT — проприетарная технология Microsoft, защищенная патентами Microsoft, и раскрытие кода конкретной имплементации этой технологии от третьей стороны не нарушает авторских прав Microsoft», — прокомментировала компания в официальном заявлении.
Активисты Free Software Foundation затруднились прокомментировать то, как следует относиться к этому случаю с правовой стороны, однако более склонны к отрицательной оценке. «Самовольное «освобождение» кода сторонами, не являющимися держателями авторских прав, не является частью правовой системы, устанавливаемой GNU General Public License», — заявил юрист FSF Эбен Моглен (Eben Moglen).
rxrz, в свою очередь, утверждает, что утекшему коду можно найти применение. Готовая имплементация exFAT для Linux дает разработчикам образец для создания открытого драйвера файловой системы, который затем может быть включен в Linux официально, надеется разработчица.
Следует отметить, что альтернативная открытая реализация exFAT для Linux существует, и ее создал российский разработчик. В январе этого года московский программист Андрей Наенко представил дебютный релиз проекта fuse-exFAT 1.0.0 — подгружаемого модуля ядра Linux, который служит в качестве моста между файловой системой и интерфейсами ядра. По словам rxrz, она пробовала российскую имплементацию exFAT, однако нашла ее «слишком медленной».
Источник:
http://open.cnews.ru/
Очень глупый поступок. Во-первых, в Линуксе прекрасные файловые системы и нечего рекламировать поделки бракоделов из Microsoft. Не поддерживается exFAT? Ну и черт с ней.
Во-вторых, в MS правильно сказали, что раскрытие кода абсолютно ничего не дает из-за действия патентов. Если теперь раскрытый код exFAT включат в состав какого-нибудь продукта (и не дай бог в состав ядра), то Microsoft сможет разработчика затаскать по судам и обложить данью, как уже сделала с теми компаниями, которые используют Андроид.
В заключении скажу, что нисколько не удивлюсь, если эта rxrz является сотрудником MS. ;)
Жаль только, что эти "прекрасные файловые системы" поддерживаются только одним-двумя процентами компьютеров. Представьте, если бы девайсы с Android использовали бы не exFAT, а какой-нибудь ext2. Пользователям пришлось бы ставить дополнительные драйвера, ни один из которых на данный момент не обеспечивает такого же бесшовного доступа (приходится лезть в панель управления и вручную назначать дискам буквы).
Линуксы всегда славились своей максимальной совместимостью. Они поддерживали виндовые и маковые ФС, форматы данных, и даже имеют довольно неплохую реализацию WinAPI для запуска виндовых приложений.
По мне, пусть модуль для поддержки exFAT запакуют отдельно (как было с поддержкой хинтинга в FreeType до того, как на него истёк патент), сделав его опционально устанавливаемым посредством DKMS (или вообще напишут юзерспейсовый модуль вроде ntfs-3g).
tl;dr (если многабукав): exFAT нужен, но не в самом ядре, а как отдельный модуль.
Легко представим! ((-;
В девайсах с Andrond как раз и используется EXT3 или EXT4 – как основная файловая система!
И про какие "буквы дисков" в андроиде Вы говорите?
Для SD-карточек, да, андроид всякие файловые системы поддерживает, в т.ч. и exFAT.
Я говорю про подключение устройства и его использование как флешки в винде. А для этого нужно, чтобы флешка была отформатирована в поддерживаемой виндой ФС.
Я пробовал различные драйвера для поддержки линуксовых ФС в винде, и практически все они требовали вручную указывать буквы диска.
Есть же fuse-exfat, вполне справляется со своей задачей, хороший проект. Если по чьему-либо мнению он тормознутый, пусть помогут разработчику избавиться от тормознутости, это ж типа опенсорс. А взять проприетарный код и выложить под GPL много ума не надо.