Логин:   Пароль:




Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100

Статьи - разминка для умаОт BSD до Java. Что ждет Sun в мире Open Source?

От BSD до Java. Что ждет Sun в мире Open Source?

В конце 2006 г. компания Sun Microsystems объявила об открытии исходных текстов на основе лицензии GPL2 (General Public License v.2) базовых компонентов своей технологии Java (Java Platform Standard Edition (Java SE), Java Platform Micro Edition (Java ME) и Java Platform Enterprise Edition (Java EE)). Это событие вызвало большую реакцию во всем мире, включая публичное одобрение этого шага Ричардом Столлманом, массу публикаций в различных изданиях и, наконец, специальный визит в Москву вице-президента Sun Microsystems по разработке продуктов и платформ Java Лори Толсон, которая вместе со своими коллегами из России провела 14 декабря специальный Круглый стол для прессы.

Естественно, решение Sun Microsystems имеет большое значение как для самой компании, так и для Java-разработчиков и всего сообщества Open Source в целом. Но прежде чем остановиться на некоторых деталях, относящихся конкретно к открытию исходных текстов продуктов поддержки Java, я хочу немного поговорить о связях компании Sun Microsystems с движением свободного программного обеспечения. Скорее всего, я не скажу ничего нового для компьютерных специалистов своего поколения, но не исключаю, что более молодым людям кое-что может быть неизвестно. Сразу замечу, что я не ставлю своей целью написание энциклопедической статьи. Я руководствуюсь собственными воспоминаниями, наблюдениями и выводами и заранее приношу извинения на возможные неточности.

Свободное программное обеспечение в истории Sun Microsystems

Лично для меня первое серьезное знакомство с Sun Microsystems произошло в 1990-м г., когда на первую конференцию советской ассоциации пользователей ОС UNIX (Soviet Unix Users’ Group, SUUG) прибыла внушительная делегация представителей этой компании во главе с вице-президентом и одним из основателей компании Биллом Джоем. Билл Джой выступил на конференции с большим докладом, в котором достаточно подробно рассказал об истории и предпосылках создания своей компании.

Г-н Джой (который, к моему большому сожалению, уже несколько лет не работает в Sun Microsystems) во второй половине 1970-х гг., будучи студентом Калифорнийского университета в г. Беркли, являлся одним из наиболее активных участников группы BSD (Berkeley System Distribution), которая начала свою работу с тестирования ранних версий ОС UNIX от компании AT&T;, а потом стала выпускать свои собственные программы, основной из которых был вариант UNIX BSD 4.1.

Группа BSD компоновала на магнитных лентах пакеты UNIX-программ с исходными текстами и продавала эти магнитные ленты (из расчета «стоимость ленты плюс стоимость труда на копирование») в другие университеты. Как говорил Билл в 1990-м г., деньги, заработанные на продаже этих лент, стали частью капитала, на основе которого в 1982-м г. была основана компания Sun Microsystems. Так что, в значительной степени, Sun Microsystems является детищем Open Source (хотя в те годы этот термин не использовался).

Основной целью новой компании было производство рабочих станций с ОС UNIX и развитым графическим пользовательским интерфейсом. С 1982 по 1990 гг. эти рабочие станции базировались на процессорах компании Motorola, а в качестве операционной системы использовалась Sun OS, основанная последовательно на UNIX BSD 4.1, 4.2 и 4.3. До 1989 г. в качестве оконной системы использовалась собственная разработка Sun Microsystems SunView, которая потом была заменена реализацией стандартных протоколов X Window System. Для поддержки GUI использовался проприетарный пакет OpenWindows, впоследствии замененный CDE и известным продуктом категории Open Source GNOME.

В 1980-е годы Sun Microsystems совместно с компанией UNIX System Laboratories (детищем AT&T;) участвовала в разработке ОС UNIX System V 4.2. Именно эта система стала основой Solaris 2.0 (Sun OS 5.0), на использование которой компания полностью перешла в 1992 г. после замены своей основной линейки процессоров на собственную архитектуру Sparc. C 1994 г. (Solaris 2.4) операционные системы Sun Microsystems могут использоваться на платформах Sparc и x86.

Наиболее известной открытой разработкой компании того времени, по-видимому, следует считать спецификацию и реализацию в «public domain» механизмов «сетевой файловой системы» (NFS, Network File System) и «удаленных процедур» (RPC, Remote Procedure Calls).

Открытие текстов проприетарных продуктов

В 1990-е гг. Sun Microsystems достаточно активно поддерживала различные проекты Open Source (в том числе, Gnome, Mozilla, Tomcat и др.), использовала и поддерживала продукты Open Source на своих аппаратных платформах (достаточно заметить, что ОС Linux силами компании работает практически на всех ее платформах), но, вместе с тем, разрабатывала ряд проприетарных решений, естественно, с закрытым кодом.

Первым шагом компании по открытию текстов проприетарных продуктов явилась ее передача в 2000 г. в сообщество OpenSource исходных кодов своего набора офисных продуктов StarOffice. В результате было образовано сообщество OpenOffice, разрабатывающее офисные продукты для различных платформ и распространяющее их по лицензии LGPL (Lesser General Public License). Основным отличием LGPL от стандартной лицензии GPL является то, что LGPL позволяет использовать откопмилированные части кода в составе коммерческих продуктов. В результате, начиная со StarOffice 6.0, Sun Microsystems успешно использует в своих офисных продуктах программы, разработанные сообществом OpenOffice.

Понятно, что, инициируя проект OpenOffice, Sun Microsystems преследовала две основные цели: удешевить силами сообщества OpenSource производство своих коммерческих офисных продуктов и попытаться потеснить на рынке x86 офисные продукты компании Microsoft. В 2005 г. был совершен второй важный шаг: открытие под лицензией CDDL (Common Development and Distribution License) основной части исходных кодов ОС Solaris 10 и создание сообщества OpenSolaris. Открыты коды системы как для платформы Sparc, так и для x86. Здесь, по всей видимости, преследуются тоже две, но совсем другие цели: попытаться привлечь сообщества OpenSource к реальной возможности использовать Solaris на платформах x86 вместо Linux (система вполне надежная, и такой возможностью не следует пренебрегать) и, возможно, найти энтузиастов для портирования Solaris на другие платформы.

Лицензия CDDL – это немного измененный вариант лицензии MPL (Mozilla Public License). Sun Microsystems мотивирует выбор этой лицензии (а не, например, GPL) тем, что, во-первых, CDDL не препятствует коммерческому распространению откомпилированного кода и, во-вторых, допускает статическое связывание открытых программ, распространяемых под разными лицензиями (в отличие, например, от LGPL). Замечу еще, что в основе Solaris по-прежнему лежат исходные коды System V 4.2 (конечно, существенно переработанные), так что проект OpenSolaris дает возможность познакомиться с этой классикой мира UNIX.

В июне 2006 г. компания сделала следующий шаг: открыла под лицензией GPL2 спецификацию процессора UltraSparc и инициировала создание сообщества OpenSparc. Более точно, открыты исходные коды на языке Verilog описания архитектуры процессора UltraSparc T1 Niagara в стандарте RTL (Register Transfer Library). Официальной целью этого шага является облегчение портирования на платформу UltraSparc операционных систем Linux и BSD. Действительно, это оправданно, поскольку для платформы UltraSparc T1 Niagara в настоящее время поддержка Linux отсутствует, а архитектура микропроцессора очень сложна.

Но мне кажется, что имеются и более глубокие причины. Дело в том, что Niagara – это первый массовый микропроцессор, в котором на аппаратном уровне поддерживается достаточно много потоков управления (32 потока на процессор). Традиционные операционные системы (равно как и компиляторы, и системы управления базами данных, и другие системные программы) не приспособлены к эффективному использованию этих аппаратных возможностей (я не буду пояснять, почему, поскольку это заняло бы слишком много места и отклонило бы меня от основной темы). Я не знаю, в каком режиме в настоящее время на Niagara работает Solaris, но простым портированием Linux или BSD здесь не обойдешься. Возможно, у Sun Microsystems имеется надежда, что народные умельцы из сообщества OpenSource сумеют сгенерировать новые идеи многопотоковых операционных систем, что пока не удается сделать профессионалам.

Java в открытых кодах

Ну и, наконец, Java. Случилось так, что мне удалось присутствовать в 1995 г. на громадном шоу в Сан-Франциско для журналистов со всего мира, посвященном объявлению нового языка Java. Я отчетливо помню, что Джеймс Гослинг объяснял причины возникновения Java потребностями передавать через Internet мультимедийные данные (графику, видео, аудио), для которых отсутствовало стандартное представление. Проблему решала инкапсуляция таких данных в объекты Java и передача по сети этих объектов в машинно-независимой форме. Отсюда происходят интерпретационная природа Java, понятия байт-кода и виртуальных Java-машин.

С годами область использования Java невероятно расширилась и углубилась. Язык используется в различных приложениях, для которых существенна повышенная портируемость, в различных встроенных системах, среди которых наиболее распространены мобильные телефоны, и т.д. В конце 1990-х гг. мир Java потрясали сражения на поле стандартизации между Sun Microsystems и Microsoft, но, как кажется, после появления C# страсти поутихли. И вот теперь Sun Microsystems выводит свои проприетарные Java-продукты в открытый мир.

13 декабря 2006 г. компания Sun Microsystems объявила, что теперь под лицензией GPL2 плюс Classpath exception доступны исходные коды продуктов поддержки Java категорий Java Platform Standard Edition (Java SE), Java Platform Micro Edition (Java ME) и Java Platform Enterprise Edition (Java EE). Некоторые продукты были ранее открыты в исходных кодах под лицензией CDDL, но теперь и на них распространяется GPL. Classpath exception – это некоторое дополнение к GPL, разработанное в проекте GNU/Classpath. Это дополнение позволяет компоновать приложение, распространяемое по любой лицензии, с библиотеками, распространяемыми по лицензии GPL. GPL2 плюс Classpath exception в совокупности очень близки к лицензии LGPL, но в сообществе Java предпочли выбрать именно этот вариант. Посмотрим более внимательно, какие Java-продукты уже открыла Sun Microsystems, и что она собирается делать дальше.

Java SE теперь развивается в проекте OpenJDK. В настоящее время в OpenJDK (Java Development Kit) входят (с исходными кодами) виртуальная Java-машина HotSpot, компилятор языка Java (javac) и оперативная справочная система по средствам разработки на языке Java. Весной 2007 г. будут открыты оставшиеся компоненты, позволяющие построить полностью функциональный JDK.

Развитию Java ME служит сообщество Mobile & Embedded. Переданные в открытое использование продукты включают специальные средства разработки Java-приложений для мобильных телефонов, средства проверки совместимости Java-платформ и т.д. В 2007 г. ожидается передача в OpenSource средств тестирования встроенных Java-приложений.

Наконец, Java EE разрабатывается в сообществе GlassFish. Помимо средств разработки, входящих в Java SE, Java EE включает сервер приложений и реализацию API для долговременного хранения Java-объектов TopLink Essentials. В 2007 г. в открытый доступ должны быть переданы тексты следующих версий этих систем.

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

Так что компания Sun Microsystems уверенно входит в современный мир Open Source. Будем надеяться, что ее продукты придутся по вкусу обитателям этого мира.



Автор: Сергей Кузнецов
10 января 2007 г.



Н. Смирнов
"Java 2 Enterprise. Основы практической разработки распределенных корпоративных приложений"
Подробнее>>
Заказать>>


Кен Арнолд, Джеймс Гослинг, Дэвид Холмс
"Язык программирования Java"
Подробнее>>
Заказать>>

Узнай о чем ты на самом деле сейчас думаешь тут.


Опрос
Считаете ли вы целесообразным сделать аналог упражнений по Hibernate на базе вопросов www.sql-ex.ru?
Да, полный аналог упражнений
Да, но с реализацией основных конструкций объектной модели
Нет, Hibernate не актуален, использую др. технологии
Нет



Apache Struts 2.0.11
Apache MyFaces Trinidad Core 1.2.3.
Sun переводит мобильные устройства с Java ME на Java SE
Хакерская атака!