Компания Microsoft предложила ввести в обиход новый термин Open Surface
Гиануго Рабеллино (Gianugo Rabellino), совмещающий участие в работе организации Apache Software Foundation с работой в компании Microsoft на посту директора по стратегии взаимодействия с Linux и открытым ПО, в своём выступлении на конференции OSCON 2011 предложил ввести в обиход ещё один термин - Open Surface ("Открытая поверхность" или менее буквальный, но более подходящий перевод - "Открытая внешность"). Необходимость введения нового термина связывается с потребностью информирования потребителей об использования в продукте открытых API, протоколов и стандартов.
Часто возникает ситуация, когда продукт с изначально закрытым кодом поставляется под видом открытой разработки только из-за того, что для взаимодействия с ним предоставлен открытый API. Подобная практика также распространена среди компаний, занимающихся предоставлением различных облачных сервисов, внешняя оболочка для доступа к которым поставляется с открытым кодом, но непосредственное выполнение операций производится в закрытой инфраструктуре. Для отделения подобных псевдооткрытых систем от настоящих разработок open source и предлагается ввести новый термин.
Интерес Microsoft в продвижении нового термина связан прежде всего с облачной платформой Microsoft Azure, которая является закрытой, но взаимодействие с которой организовано через прозрачные для пользователя программные интерфейсы. В настоящее время Microsoft работает над обеспечением полной совместимости с Azure около 400 открытых проектов, написанных на языке PHP, включая WordPress, Drupal и Joomla. При использовании концепции PaaS (Platform as a Service, платформа как сервис) структура программного окружения, обеспечивающего работу конечного приложения, расплывчата и неподконтрольна пользователю. Пользователь только ставится перед фактом, что окружение поддерживает определённые языки программирования, фреймворки и интерфейсы к СУБД, при этом пользователь никак не может влиять на их работу.
Возникает ряд вопросов о применимости нового термина. Под открытостью Microsoft подразумевает прежде всего полную документированность, без учёта возможной зависимости API и протоколов от отдельного производителя. Непонятно, можно ли применять термин Open Surface к проектам, использующим API, протоколы и спецификации, полностью подконтрольные одной компании, на развитие которых не могут влиять другие участники сообщества. Другой вопрос связан с тем, можно ли считать открытыми проекты, распространяемые в исходных текстах и под надлежащей открытой лицензией, но использующие проприетарные языки программирования или требующие для сборки наличие определённых закрытых компонентов (например, открытые проекты на базе технологий .Net или привязанные к закрытым компиляторам и библиотекам функций).