LINUX.ORG.RU

Microsoft будет предоставлять информацию о сетевых протоколах разработчикам ПО с открытым кодом


0

0

"Брюссель. 22 октября. ИНТЕРФАКС-АФИ - Microsoft Corp., крупнейший мировой производитель программного обеспечения, согласился с требованиями Европейской комиссии по поводу предоставления информации разработчикам ПО с открытым кодом, сообщило агентство Bloomberg. Еврокомиссия заявила, что Microsoft предложила передавать разработчикам, работающим с открытым кодом, информацию о сетевых протоколах Windows за разовую плату в 10 тыс. евро. Компания также снизит роялти, взимаемые с ее конкурентов. "Эти меры принесут пользу пользователям компьютеров благодаря возвращению конкуренции и инноваций на рынок серверов", - заявила представитель Еврокомиссии по вопросам конкуренции Нели Крус. В прошлом месяце суд подтвердил вывод Еврокомиссии от 2004 года о том, что Microsoft скрывала данные, касающиеся сетей, от конкурентов и интегрировала медиа-плеер в свою операционную систему, доминирующую на рынке. Американская компания была оштрафована на $497 млн."

Подробности

★★★★★

Проверено: svu ()

Ответ на: комментарий от gggg

>> Для firefox очень много любимых народом плагинов, хотя ActiveX оно не пользуется

>Очень много вы знаете про firefox. А Вы знаете, что для firefox был написан аналог COM

Вообще COM это изобретение такой же ценности как и фортрановское goto. С одной стороны, намного лучше без него, с другой стороны выдрессировано огромное количество труъ программистов которое на любом языке умеет писать так же как и на Фортране (т.е mfc/atl).

>> Зачем вообще понадобился COM? Почему бы Майкрософту было не добавить исчерпывающую метаинформацию об экспортированных символах в DLL файлы, так чтобы dll файлы можно было использовать прямо из скриптовых языков типа VB

>Опять проявляете свои "глубокие" знания. Именно это и делает COM с "обычными" DLL (а попутно и с EXE).

Что, в Visual Basic я мог сделать какой-нибудь "import * from kernel32" без описания сигнатур нужных функций? Про то что в ресурсы dll можно засунуть кусок реестра, который будет экспортирован в точку назначения с помощью regsvr32 я знаю.

>А если Вы имели в виду "почему это не сделано изначально", то нужно понимать, что Windows "в мододости" работал на таком железе (80086 + 640 Мб памяти с двух дискет без винчестера), что подобная метаинформация легла бы на систему тяжким бременем.

При переходе Win16->Win32 была произведена очень серьезная ревизия PE EXE. Метаинформация о всех ole-типах в ос Windows(tm) есть и она является бременем. Это реестр.

Absurd ★★★
()
Ответ на: комментарий от anonymous

>> Пытаетесь угробить Apache Axis ?

>http://en.wikipedia.org/wiki/Windows_Communication_Foundation

XML-based encoding is used for the SOAP messages but when it communicates with another WCF process, the SOAP messages are encoded in an optimized binary format.

Уже ясно к чему идет - придется реверсить этот самый "optimized binary format"

Absurd ★★★
()
Ответ на: комментарий от Absurd

> Вообще COM это изобретение такой же ценности как и фортрановское goto

Значит про XPCOM Вы не знали. Ладно. B Фортрана вы не знаете. Только слышали, что "goto - это плохо". Интересно, как Вы без goto выходите из трех вложенных циклов в программа на C++?

> Что, в Visual Basic я мог сделать какой-нибудь "import * from kernel32" без описания сигнатур нужных функций

Иногда да - например, обращаясь к ActiveX объекту FileSystemObject Вы на самом деле обращаетесь к функциям kernel32 CreateFile(), ReadFile(), CloseHandle() и т.п. А иногда - нет - COM не покрывает весь Windows API, т.к. в этом нет смысла.

> При переходе Win16->Win32 была произведена очень серьезная ревизия PE EXE

Да, ну и что? Теперь .Net испольует PE для хранения всей метаинформации. B COM есть возможность хранить ограниченную метаинформацию в PE (ресурсы TypeLibrary). А в "родных" DLL/EXE в Windows в общем случае такая информация отсутсвует за ненадобностью.

gggg
()
Ответ на: комментарий от anonymous

>По своему опыту могу сказать, что пять минут поиска в хорошей документации заменяют пол часа копания в незнакомых исходниках.

Согласен. Вот только МСДН я не стал бы относить к "хорошей документации"....

Хотите пример хорошей документации --- посмотрите на документацию к Qt.

MYMUR ★★★★
()
Ответ на: комментарий от anonymous

>Объём справочной системы наклыдывает очень сильный отпечаток на её организацию.

... плачевный результат чего мы и имеем несчастье наблюдать на примере МСДН.

MYMUR ★★★★
()
Ответ на: комментарий от gggg

>>Вообще COM это изобретение такой же ценности как и фортрановское goto

>Значит про XPCOM Вы не знали. Ладно.

Неплохо бы с примерами - какие конкретно плагины используют xpcom. Насколько я вижу по modev для большинства случаев достаточно XML/XUL/JavaScript.

>B Фортрана вы не знаете. Только слышали, что "goto - это плохо". Интересно, как Вы без goto выходите из трех вложенных циклов в программа на C++?

Я избегаю нескольких вложенных циклов. Предпочитаю в цикле вызывать функцию. На чистом С устанавливаю флаг ошибки и делаю goto exit к метке перед return, не забывая при этом почистить ресурсы которые уже успел аллоцировать. На С++ для неправильных сценариев есть экзепшены. В msvc++ можно использовать __try { /*...*/ if (something_weird) {error = true; __leave; } /*...*/} __finally { /*cleanup*/ }

>> Что, в Visual Basic я мог сделать какой-нибудь "import * from kernel32" без описания сигнатур нужных функций

>Иногда да - например, обращаясь к ActiveX объекту FileSystemObject Вы на самом деле обращаетесь к функциям kernel32 CreateFile(), ReadFile(), CloseHandle() и т.п. А иногда - нет - COM не покрывает весь Windows API, т.к. в этом нет смысла.

Ну так зачем нужно было выносить метаинформацию в реестр, если ее можно хранить вместе с кодом в заведомо консистентном состоянии?

Absurd ★★★
()
Ответ на: комментарий от MYMUR

> ... плачевный результат чего мы и имеем несчастье наблюдать на примере МСДН.

Да, вот только если пишешь что-то находящееся на стыке нескольких технологий, то единый справочник(MSDN) оказывается гораздо более удобным, чем десяток (QT + ...). Тем более если в нём оказывается подходящая статья, как часто бывает.

anonymous
()
Ответ на: комментарий от Absurd

> Уже ясно к чему идет - придется реверсить этот самый "optimized binary format"

Этот "optimized binary format" существует уже 6 лет и называется .NET remoting. Собираются ли они убрать SOAP со временем? Врядли. Например .NET Framework для Windows Mobile поддерживает только SOAP, но не binary.

anonymous
()
Ответ на: комментарий от Absurd

> Неплохо бы с примерами - какие конкретно плагины используют xpcom

т.е. ты хочешь сказать, что XUL/JavaScript в firefox не используют XPCOM?

Если же ты хочешь сказать, что для использования XUL/JavaScript не нужно знать XPCOM, то и для написания ActiveX для Inetenet Explorer COM знать тоже знать не обязательно - http://msdn2.microsoft.com/en-us/library/asxw6z3c.aspx

> Ну так зачем нужно было выносить метаинформацию в реестр

1) Метаинформация хранится не в реестре, а именно вместе с кодом 2) В реестр вносится информация о том, где _находится_ этот код (в случае DCOM код может находится вообще на другом компьютере)

PS - неужели Вы в самом деле в институтеизучали COM?

gggg
()
Ответ на: комментарий от gggg

> 1) Метаинформация хранится не в реестре, а именно вместе с кодом 2) В реестр вносится информация о том, где _находится_ этот код (в случае DCOM код может находится вообще на другом компьютере)

Я знаю как там все устроено, не надо брейнбенч тут устраивать. Я не понимаю в чем такой глобальный смысл всегда запрашивать объекты через глобальный Factory даже в том случае если их в подавляющем числе случаев можно линковать статически, и отсутствие scope rulez'ов позволяющих программам до некоторой степени вариться в собственном соку.

>неужели Вы в самом деле в институтеизучали COM?

Оттого что я его более-менее знаю - писал фильтр к DirectShow & OLE Automation объект для использования в VBA@Excel - что я, кипятком должен писать от гениальности решений Майкрософт? Он решает часть проблематики Windows, но кроме Майкрософт под него прямо никто не пишет. Везде какие-то косяки оттого что простой девелопер возьмет болванку например кодека и вобьет туда свой код, упустив кучу важных ньюансов.

Absurd ★★★
()
Ответ на: комментарий от Absurd

> если их в подавляющем числе случаев можно линковать статически

прилинкуй статичиски Excel или Word или Active Directory.

В остальных случаях никакой реестр и не используется - если мне нужно в Internet Explorer подсунуть свой window.external, я не регистрирую объект в реестре.

> Оттого что я его более-менее знаю

Так более-менее знаю или изучал в институте (изначально разговор шел о том, что "В 22 года на последнем курсе института я изучал COM/COM+, способы маршаллизации, трединговые модели. Теперь моим знаниям в этой трудной для освоения области (около 100 сертификатов Брейнбенча выдано всего) место на помойке")?

> Везде какие-то косяки оттого xnj простой девелопер возьмет болванку например кодека и вобьет туда свой код, упустив кучу важных ньюансов.

И кто в этом виноват? COM?

gggg
()
Ответ на: комментарий от gggg

>> если их в подавляющем числе случаев можно линковать статически

>прилинкуй статичиски Excel или Word или Active Directory.

А что, отрыть формат файла Excel & Word и дать DLL для чтения/записи этих файлов не судьба? Или открыть протокол Active Directory?

>> Оттого что я его более-менее знаю

>Так более-менее знаю или изучал в институте (изначально разговор шел о том, что "В 22 года на последнем курсе института я изучал COM/COM+, способы маршаллизации, трединговые модели. Теперь моим знаниям в этой трудной для освоения области (около 100 сертификатов Брейнбенча выдано всего) место на помойке")?

Чтение книжек по ATL и Рихтера отличается от написания чего-либо работоспособного. В те времена чего-либо работоспособное в основном писалось на Delphi, который СОМ пытался обернуть во что-то пристойное. Кидали просто с палитры компонентов буковку "W" на форму и вуаля.

>> Везде какие-то косяки оттого xnj простой девелопер возьмет болванку например кодека и вобьет туда свой код, упустив кучу важных ньюансов.

>И кто в этом виноват? COM?

Да, СОМ поскольку он слишком сложен на пустом месте.

Absurd ★★★
()
Ответ на: комментарий от Absurd

> А что, отрыть формат файла Excel & Word и дать DLL для чтения/записи этих файлов не судьба? Или открыть протокол Active Directory?

И подарить это всему миру - пожалуйста, забесплатно пользуйтесь?

> Delphi

Вот и было произнесено ключевое слово. Теперь все понятно.

> Чтение книжек по ATL и Рихтера отличается от написания чего-либо работоспособного

Обрати внимание на то, что чтение книжек Кнута от написания чего-либо работоспособного еще дальше.

> Да, СОМ поскольку он слишком сложен на пустом месте.

Что ты предлагаешь в замен? DLL с плоским API? Статическую линковку? А если нужно работать с удаленным сервером? А если нужно работать из скриптовых языков?

gggg
()
Ответ на: комментарий от gggg

>> А что, отрыть формат файла Excel & Word и дать DLL для чтения/записи этих файлов не судьба? Или открыть протокол Active Directory?

>И подарить это всему миру - пожалуйста, забесплатно пользуйтесь?

Так и запишем - COM предназначена для локинга на платформу Майкрософт и ни для чего более. Лочить на платформу Linux нет необходимости, поэтому COM там нет. Вот и все, договорились?

>> Delphi

>Вот и было произнесено ключевое слово. Теперь все понятно.

Какое-то буквоедство и попытка меня на чем-то поймать, блин. Я на Delphi не писал, я всегда был фанатиком С/C++ - это тогда был элемент непрактичности чтоли. MSVC++6/7, NT4/2000 были мои любимые среды. Люблю так же Intel C++ и gcc.

>> Чтение книжек по ATL и Рихтера отличается от написания чего-либо работоспособного

>Обрати внимание на то, что чтение книжек Кнута от написания чего-либо работоспособного еще дальше.

Хули ты к Кнуту пристал. "Если Вы действительно осилили весь этот многотомный труд, потрудитесь отправить нам резюме" - Билл Гейтс, цитата в предисловии. Так отстанешь?

>> Да, СОМ поскольку он слишком сложен на пустом месте.

>DLL с плоским API? А если нужно работать с удаленным сервером?

RMIC + idl-> Skeleton/Stub. COM именно так и делает только добавляет ненужный внешний слой. В MSVC AFAIK используется midl.exe.

>А если нужно работать из скриптовых языков?

Интерфейс IDispatch + SAFEARRAY + VARIANT это наверно нечто абсолютно уникальное и не имеющее аналогов?

Absurd ★★★
()
Ответ на: комментарий от Absurd

> COM именно так и делает только добавляет ненужный внешний слой. В MSVC AFAIK используется midl.exe.

Какой слой в COM является ненужным? Реестр? А как без реестра узнать, где находится нужный мне компонент? На каком сервере? Хранить все в отдельных файлах? Эти файлы станут аналогом реестра - только более медленным и занимающем больше места на диске.

> Интерфейс IDispatch + SAFEARRAY + VARIANT это наверно нечто абсолютно уникальное и не имеющее аналогов?

Нет, конечно не уникальное. Когда ты попробуешь это написать на C/C++ ты получишь аналог COM (что и сделали разрвботчики firefox, написав XPCOM)

gggg
()
Ответ на: комментарий от gggg

>> COM именно так и делает только добавляет ненужный внешний слой. В MSVC AFAIK используется midl.exe.

>Какой слой в COM является ненужным? Реестр? А как без реестра узнать, где находится нужный мне компонент? На каком сервере? Хранить все в отдельных файлах? Эти файлы станут аналогом реестра - только более медленным и занимающем больше места на диске.

Технология Win23 RPC позволяет работать без COM. Можно в виде транспорта успользовать TCP (гарантированная доставка, возможность получить результат, callback-функции), можно UDP (только ненадежная передача в одну сторону, возможность broadcast), можно именованные каналы для эндпоинтов вида \\host\named_pipe_xxx, можно разделяемую память для наиболее быстрого взаиможействия. MIDL компилятор просто генерирует *.с стабы которые сериализуют параметры методов. Насчет реестра versus конфигов - это неоднозначно т.к многие тоскуют по возможности бэкапить /home/* вместе со всеми настройками.

>> Интерфейс IDispatch + SAFEARRAY + VARIANT это наверно нечто абсолютно уникальное и не имеющее аналогов?

>Нет, конечно не уникальное. Когда ты попробуешь это написать на C/C++ ты получишь аналог COM (что и сделали разрвботчики firefox, написав XPCOM)

А как насчет JNI например?

Absurd ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.