Tyto smlouvy přinášejí určité výhody i nevýhody oběma stranám. A zdá se, že každá sází na něco jiného. Že Microsoft dnes prodává SLES, znamená nejen provizi, ale také přiznání, že Linux JE vhodným systémem pro komerční použití. Tedy něco, co Microsoft donedávna vehementně popíral. Všimněte si, že tyto smlouvy uzavírají výhradně distributoři, kteří potřebují, aby jejich produkt úzce spolupracoval s Windows, protože komerční sféra to (zatím) vyžaduje.Microsoft se vždycky silně snažil, aby protokoly a formáty jeho produktů nebyly s ničím kompatibilní, aby ho jednou chycený zákazník nemohl opustit. A samozřejmě si je patentoval - když mu to nesmyslný zákon umožňuje. V posledních letech se ovšem tato politika obrací proti němu. Zákazník nechce být rukojmým a tak dává stále více přednost otevřeným protokolům a formátům - už kvůli možnosti komunikovat s kýmkoliv. Vývojáři stále více odmítají tvořit nepřenositelné programy pro jedinou platformu - i jim jde o chlebíček. Přijmout open řešení Microsoft odmítá. A tak se pomocí těchto smluv snaží protlačit svá patentovaná řešení na Linux - zatím prý bez postihu. A v tom spočívá největší nebezpečí. I když to některým linuxovým firmám umožňuje rychleji proniknout do světa Windows, obávám se, že jde o výhodu krátkodobou. Na druhou stranu - ani pro Microsoft není toto pootevírání dveří konkurenci bez rizika. Pro léta zneužívané zákazníky vzniká možnost přechodu a mohou reagovat silněji, než je Microsoftu milé. Která strana byla prozřetelnější, ukáže až budoucnost.
Nerad to říkám, ale psát multiplatformní je problém. Každá patforma je výrazně odlišná, a napsat něco, co funguje všude, je téměř nemožné (pokud to není Hello World). Navíc uživatelé na každé platformě požadují něco jiného. Na Linuxu konfiguráky a hromadu options, na Windows admin GUI a obsáhlý help, na Macu že se po instalaci nemusí (a nedá) už nastavit vůbec nic...
Aha, a která z těch aplikací je skutečně úspěšná na více platformách (nemluvím o jedné rozbité platformě zvané UNIX)? FireFox, který vypadá na každé platformě jinak, a kvůli kterému Netscape napsal vlastní multiplatformní toolkit? Na kolik asi vyjde napsat podřadný OpenOffice multiplatformně, když je nutné si napsat i vlastní komponentovou technologii (UNO)? A výsledek? OpenOffice na Macu běží pod X11, a vypadá velmi odlišně od nativních aplikací. Nakonec OOo vypadá divně i na Linuxu. MySQL, PHP,
PosgreSql a další podobné kusy zase vypadají na Windows jako UFO, a nikdy se tam nerozšířily. Není to wake up call?
Není podstatné, nakolik se tyto aplikace na cizí platformě rozšíří. Většina jejich uživatelů dá stejně přednost Linuxu. Důležité je, že je mohou použít i tam, kde Linux instalovat nelze. A že tyto aplikace nevypadají na Windowsech nativně, považuji za jejich výraznou přednost! Systém záložek ala pořadače ve Windows, které mění svoje pořadí, mě vždycky doháněly k zuřivosti a nikdy jsem je neprošel, abych něco nevynechal. Pro více voleb jsou naprosto nevhodné. Jedním z důvodů, proč používám Linux je i ten, že se mnohem snadněji uživatelsky ovládá. I když cvičené opice praví opak.
Proč tedy složitě psát multiplatformní SW, když ho prakticky nikdo na jiné než původní platformě nebude používat? Říká vám něco pojem návratnost vložených prostředků? Pokud je multiplatformní vývoj dražší o X%, náklady na support vyrostou o Y%, a tržby vzrostou jen o (X/10)%, nemá smysl psát multiplatformně. Proto je tak málo aplikací typu účetnictví či správce domácích peněz pro Linux.
Zrovna účetnictví má některá specifika. Jde sice o typový projekt, ale bez trvalé podpory se nedá používat. Tvůrci musí na nestálé změny předpisů reagovat okamžitě a zajistit dlouhodobě takovou podporu může jen stabilní softwarová firma. Na druhou stranu - multiplatformní řešení nemůže být velký problém. Klient třeba v Javě a databáze SQL, kde jsou příkazy takřka totožné. Pravdou ovšem je, že většina účetních programů, které jsem viděl (nebudu jmenovat) používá zastaralou technologii (často ještě z DOSu), která je opravdu nepřenosná. Autorské firmy se samozřejmě snaží prodloužit život svých produktů co nejdéle ale až je vývoj donutí vytvořit nový produkt, věřím, že alespoň jeden z nich už multiplatformní bude.
Jiná je situace u projektů, šitých na míru. Ty nemohou mít životnost webových stránek. Pokud má zadavatel rozum, musí požadovat garanci zhruba desetileté životnosti. Znám spoustu naprosto skvělých programů, které se musely vyhodit před koncem své životnosti jen proto, že se platforma změnila nebo dokonce vymizela. Až firma zjistí, že program, za který zaplatila pěkný majlant a na kterém je závislá, neběží ani v nové verzi Windows, ráda si přště za takové řešení připlatí.
Pokud vám SQL u různých DB přijde v podstatě stejný, tak si zkuste udělat pár projektů nad MS SQL a Oracle, ať poznáte rozdíly. Navíc Java je na klientech mrtvá.
firmy vyhazují produkty i proto, že platformě či produktu skončila podpora. Technicky na dnešních Windows běhá většina aplikací z Windows 2.0 (na 64-bitech s 16-bit kódem bude pravda konec).
Pokud platím vývoj SW, tak je pro mě velmi důležité, jak se aplikace rozšíří na cizí platformně. Pro tu platformu totiž budu muset dále vyvíjet, poskytovat pro ni podporu, atd.
Většina uživatelů multiplatformních aplikací nedá přednost Linuxu. Je to jinak. Většina uživatelů Linuxu nemá k dispozici nic jiného, než zmíněné druhořadé aplikace. Je to z nouze ctnost - nic jiného nemají. Na ostatních platformách, kde potrovaný SW navíc často působí jako pěst na oko, k jeho používání není důvod, pokud není opravdu dobrý.
Zkuste se podívat třeba na MS SQL Server Books Online. Srovnejte s číkoliv podobným na unixech, a pak se smějte. Případně se podívejte na MSDN (dodáváno k Visual Studiu, ale je i na webu). Pokud vám nezmrznul smích na rtech o Books Online (což by měl), tak u MSDN to tak skončit musí.