На мінулым тыдні Microsoft пашырыла рамкі дзеяння дакумента Community Promise (Абяцанне Супольнасці) на рэалізацыю стандартаў ECMA 334 і 335. Хтосьці мог падумаць, што зараз пісаць праграмы на C# стане бяспечней. Тым не менш, па меркаванні Free Software Foundation гэта "абяцанне" досыць абыходных шчылін і цалкам не імкнецца зрабіць выкарыстанне C# больш бяспечным. На аснове апублікаванага артыкула Рычарда Столлмана аб Mono некаторыя распрацоўнікі задаюцца пытаннем -- чаму Фонд Free Software Foundation выяўляе асаблівую турботу адносна C# і Mono, бо, напрыклад, у Sun хутчэй за ўсё ёсць патэнт, які пакрывае Java, а ў IBM -- патэнт, што пакрывае кампілятары C. Што жа зараз, перашкаджаць выкарыстанню Java і З? Free Software Foundation адказвае, што "усе патэнты на ПА уяўляюць сабой пагрозу распрацоўнікам -- але гэта не азначае, што ўсе патэнты небяспечныя аднолькава. У розных кампаній могуць быць розныя патэнты, якія можна выкарыстаць для нападу на іншыя мовы, але калі бы мы сталі турбавацца з нагоды кожнага патэнта, які можна выкарыстаць супраць нас, мы бы ніколі нікуды не прасунуліся. Патэнты Microsoft нашмат больш небяспечныя: гэта адзіная буйная кампанія, вырабляльная ПА, якая абвясціла сябе ворагам GNU/Linux і пацвярджае гэты прынцып, атакуючы нашу супольнасць патэнтамі. Калі Microsoft заклала пастку ў патэнце на мову C#, то гэтае не больш, чым пацверджанне слоў справай.
Microsoft паслядоўна прадпрымае крокі, якія пацвярджаюць яе пазіцыю, з 2006 гады, пачынальна з заяў Балмера з нагоды Novell, патэнтаў і Лінукс у лістападзе 2006 г., а таксама з інтэрв'ю аднаго з прэзідэнтаў кампаніі Боба Маглия (Bob Muglia), у якім ён растлумачваў пазіцыю кампаніі, якая лічыць C# адной з так званых "патэнтаваных інавацый". У траўні 2007 г. рушыла ўслед інтэрв'ю часопісу Fortune, дзе GNU/Linux вінавацілася ў парушэнні 235 патэнтаў Microsoft, а зусім нядаўна поўная выразнасць у гэтым пытанні наступіла ў справе кампаніі супраць TomTom у сувязі з VFAT. "У святле стратэгіі выкарыстання патэнтаў паводле лозунгу "падзяляй і пануй" па стаўленні да супольнасці вольнага ПА, C# уяўляе асаблівую пагрозу. Гэтая мова быў распрацаваны ў нетрах Microsoft, таму напэўна розныя аспекты яго ўжывання пакрываюцца шматлікімі патэнтамі, што можа зрабіць з вольных рэалізацый C#, падобных Mono, лёгкую мішэнь для нападаў." "Community Promise нічога не робіць для таго, каб змяніць гэтае становішча. У Microsoft была магчымасць на справе прадэманстраваць мірныя намеры адносна C#, але замест гэтага былі прынятыя бессэнсоўныя паўмеры, оставляющие мноства магчымасцяў нашкодзіць нам. Спецыфікацыі ECMA 334 і 335 апісваюць асновы мовы C#, уключаючы інфармацыю аб стандартных бібліятэках, якія павінны быць даступныя ў любой сумяшчальнай рэалізацыі. Тым не менш, існуе некалькі бібліятэк, уключаных у Mono і шырока выкарыстоўвальных у прыкладаннях, падобных Tomboy, не згадваных у стандартах. І прамова тут ідзе не аб Windows-спецыфічных бібліятэках, падобных ASP.NET і Windows Forms. Наадварот, мы кажам аб бібліятэках, уваходных у прастору імёнаў "System", якія прадстаўляюць агульную функцыянальнасць, якую праграмісты чакаюць знайсці ў сучасных мовах: серыялізацыя двайковых аб'ектаў, рэгулярныя выразы, XPath і XSLT і таму падобнае. Паколькі гэтыя бібліятэкі ніяк не апісваюцца ў спецыфікацыях ECMA, такім чынам, яны ніяк не абароненыя дакументам Community Promise. Калі бы гэта было бы адзінай праблемай, звязанай з Promise, то можна было бы спакойна працаваць з прыкладаннямі, дзе не выкарыстоўваюцца гэтыя бібліятэкі, але праблема ў тым, што нават код, покрываемый Promise, не цалкам бяспечны. Скажам, вы напісалі рэалізацыю адной з спецыфікацый, покрываемых Community Promise, і жадаеце пазнаць, ці будуць вас пераследваць у судовым парадку за тое, што вы парушылі вызначаныя патэнтавыя правы. Пытанне неабходнасці гэтага ўжо сам па сабе досыць абцяжарвае справу, але нават калі вам і атрымалася знайсці інфармацыю, назаўтра ізноў прыйдзецца ўсё пазнаваць зноўку, паколькі няма гарантыі, што Community Promise будзе вас абараняць заўтра. Community Promise не дае вам ніякіх мае рацыю на патэнтавую заяўку. Promise толькі кажа, што Microsoft не будзе прыцягваць вас да суду за парушэнне патэнтавых мае рацыю па патэнтах, якія ёй прыналежаць або якія яна кантралюе. Калі Microsoft прадасць адзін з такіх патэнтаў, то няма ніякіх перашкод да таго, каб пакупнік патэнта не прыцягнуў да суду ўсіх, хто карыстаецца праграмай. Рашэннем праблемы, па меркаванні Free Software Foundation, можа стаць безотзывная перадача грамадскасці патэнтавай ліцэнзіі на ўсе патэнты, якія ў сапраўдны момант выкарыстоўваюцца ў Mono. Падобная просьба будзе з'яўляцца суцэль абгрунтаванай, паколькі GPLv3 патрабуе ад распаўсюджвальніка падавання аналагічнай ліцэнзіі пры перадачы змененых версій ПА, покрываемого ліцэнзіяй, і ў шматлікіх маленькіх і вялікіх кампаній не ўзнікала з гэтым ніякіх праблем. "Датуль, пакуль гэта не адбылося, распрацоўнікі вольнага ПА не павінны пісаць праграм, якія залежаць ад Mono. Рэалізацыі C# усё яшчэ могуць падвергнуцца патэнтавым нападам Microsoft: Community Promise разлічаная толькі на то, каб падаць некаторыя шчыліны зацікаўленым у іх кампаніям. Мы не жадаем убачыць, як праца праграмістаў стане страчаны для супольнасці, калі магчымасць выкарыстаць Mono будзе страчаная, і датуль, пакуль софтверныя патэнты не будуць знішчаныя як такія, выкарыстанне іншых моў з'яўляецца лепшым спосаб прадухіліць падобную магчымасць.
рэкамендуем прачытаць таксама
- PhotoFast пачынае продажы SSD-назапашвальнікаў са хуткасцю працы 1000 МБ/С
- Ці існуе пагроза патэнтавых войн праекту Mono?
- Mono 2.0 — новы рэліз адчыненай рэалізацыі платформы .NET
- Microsoft падтрымала распрацоўку адчыненага вэб-сервера Apache
- Moonlight, Linux-версія Silverlight, наблізілася да статуту бэта