Разделы

ПО Свободное ПО Открытое ПО Маркет

Код проприетарной файловой системы Microsoft утек в интернет

Анонимная разработчица из Европы выложила в интернет крупный фрагмент кода проприетарной файловой системы exFAT, разработанной Microsoft и активно применяющейся на флэш-накопителях мобильных устройств. Утечка кода пришлась на момент, когда Microsoft сделала сразу три крупных шага в сторону сообщества Open Source.

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», - прокомментировала компания в официальном заявлении.

С точки зрения Microsoft, exFAT остается проприетарной
С точки зрения Microsoft, exFAT остается проприетарной

Активисты Free Software Foundation затруднились прокомментировать то, как следует относиться к этому случаю с правовой стороны, однако более склонны к отрицательной оценке. «Самовольное «освобождение» кода сторонами, не являющимися держателями авторских прав, не является частью правовой системы, устанавливаемой GNU General Public License», - заявил юрист FSF Эбен Моглен (Eben Moglen).

rxrz, в свою очередь, утверждает, что утекшему коду можно найти применение. Готовая имплементация exFAT для Linux дает разработчикам образец для создания открытого драйвера файловой системы, который затем может быть включен в Linux официально, надеется разработчица.

Сергей Голицын, T1: 70% компаний, применяющих ИИ, подтверждают положительный эффект
Цифровизация

Следует отметить, что альтернативная открытая реализация exFAT для Linux существует, и ее создал российский разработчик. В январе этого года московский программист Андрей Наенко представил дебютный релиз проекта fuse-exFAT 1.0.0 - подгружаемого модуля ядра Linux, который служит в качестве моста между файловой системой и интерфейсами ядра. По словам rxrz, она пробовала российскую имплементацию exFAT, однако нашла ее «слишком медленной».

Не делай добра

Неловким для сообщества Open Source совпадением является то, что именно на этой неделе корпорация из Редмонда вновь активизировала деятельность по взаимодействию с открытым ПО. Пока сторонники Open Source изучали реализацию закрытой технологии Microsoft, компания анонсировала сразу три шага навстречу разработчикам открытого программного обеспечения.

Так, вчера, 25 июля, компания самостоятельно выложила на GitHub код набора своих инструментов веб-разработки - тестового сканера modern.IE, предназначенного для тестирования веб-сайтов в браузере Internet Explorer. modern.IE позволяет веб-разработчику увидеть, как выглядит его сайт в разных версиях браузера Internet Explorer (в том числе в готовящемся к выпуску IE 11) на различных устройствах, доступных на рынке. Исходники были размещены в сети под лицензией Apache 2.0.

Разработчик российской ОС подвел итоги года
Бизнес

Также компания анонсировала сразу два направления работы над повышением интероперабельности своих серверных облачных продуктов с Open Source. Первым из них стало заявление о намерении предоставить пользователям облачного сервиса Windows Azure готовую среду для разработки открытого ПО на Java. В среду, 24 июля, глава Microsoft Open Technologies Джиануго Рабеллино (Gianugo Rabellino) сообщил, что к концу этого года на виртуальных машинах Azure будет развернут OpenJDK - открытая реализация набора инструментов для Java-разработки.

Созданием и развертыванием открытого JDK займется партнерская компания Azul, однако поддержка будет осуществляться непосредственно Microsoft. OpenJDK будет развернут поверх Windows Server, что даст разработчикам готовую платформу для создания открытого ПО под Windows. В настоящий момент пользователи Azure уже имеют возможность использовать OpenJDK на Linux и официальный Oracle JDK - на Windows. Компания также собирается обновить плагин Azure для открытой IDE Eclipse. Microsoft отдельно отмечает, что поддержка открытого JDK является пожеланием самого Open Source-сообщества.

Другое новшество ожидает саму Windows Server версии 2012, а также Windows System Center. Компания объявила, что вскоре выпустит для обоих продуктов обновления R2, которые упростя запуск различные версий Linux поверх Windows Server с использованием движка виртуализации Hyper-V.

Для Windows Server компания предоставит обновления Linux Integration Services (LIS), которые позволят автоматически добавлять и удалять гостевые машины, распределять прерывания между различными виртуальными CPU и создавать аварийные дампы памяти, а также улучшат производительность мультимедиа в 2D. Обновления касаются Red Hat Enterprise Linux 5.9/6.4, SuSE Linux Enterprise Server 11 SP2/SP3, Ubuntu Server 12.04/12.10/13.04, CentOS 5.9/6.4, Oracle Linux 6.4 и Debian GPU/Linux 7.0.

System Center 2012 R2, в то же время, научится создавать аварийные копии гостевых машин с Linux на Hyper-V с сохранением целостности файловой системы - вохможность, давно реализованная для Windows-машин в форме службы Volume Shadow Copy Service. Помимо этого, команда Servers and Tools собирается и дальше сотрудничать с сообществом Linux в работе над драйверами Hyper-V.

Любовь Касьянова