卡卷网
当前位置:卡卷网 / 每日看点 / 正文

世界开源软件工程师,他们如何谋利?

作者:卡卷网发布时间:2025-01-10 19:28浏览数量:98次评论数量:0次

MichaelWidenius(Monty)是开源数据库界的一个传奇人物,平生有三大爱好:写码、喝酒、走穴。数据库团队(后来被合并到了阿里云)较得势的那几年,Monty几乎每年都会来杭州,见见老朋友,喷喷Oracle,场面非常欢乐。我曾亲眼看见Monty蹲在云栖大会的场地上写代码,也曾被Monty掏出的茴香酒“感动”到,算是近距离体验过老子的传奇风采。恰巧前阵子翻过Monty的博客,又找到了一些有趣的素材,能够把Monty与MySQLA、Sun、Oracle、MariaDCorporation之间的纠葛好好捋一捋。这篇博客是对MySQL开源到商业历史的一个梳理,如果各位有什么补充信息,欢迎在评论区留下材料,谢谢!

Sun公司了MySQLA

2008年1月27,Monty在博客上高调宣布Sun公司了MySQLA。虽然Monty后来表示这笔并不是他主导的(甚至有点的意思),但是他也坦诚被Sun公司是MySQLA最好的出路并将这次称为“天作之合”。这次给Monty带来了几千万美金的收益,但也带走了Monty对MySQL开源项目的控制权,只是Monty当时并不知道Sun公司所馈赠的礼物已在暗中标好了。以下是Monty博客的原文:

ThefirstthingIwouldliketotalkaoutisaoutSunuyingMySQLA.InasecondlogentryIwillthentalkaouttheMariastorageengine,aprojectthatIheeenworkingonforthepasttwoyear(firsthalftimeandnowfulltime).我想谈的第一件事是SunMySQLA。在第二篇博客中,我将谈谈Maria存储引擎,这是我过去两年一直在做的一个项目(最初是半职,现在是全职)。PersonallyIthinkthatthedealwithSunistheestthingthatcouldhehappenedtous.WhenDid,AllanandIoriginallytookoninvestorsonMySQLwedidknowthattherewasonlytwowaysout;EitherwewouldmakeanIPOorwewouldeoughtysomelargecompany.我个人认为,与Sun的交易是我们所能遇到的最好的事情。大卫、艾伦和我最初在MySQL项目上接受投资者投资时,我们知道只有两条出路:要么上市,要么被大公司。IwasalwaysaitafraidoftheIPOroute,asinthiscasetherewasnoguaranteeslongtermthatMySQLAwouldeacompanythatwouldfocusonopensoce.IamquiteconfidentthatWithSun,whohasmadestrongcommitmentstoopensocewiththingslikeOpenSolaris,OpenOffandJaopensoce,oopensoceinheritancewilletakengoodcareof.我一直有点害怕首次公开募股这条路,因为在这种情况下,无法保证MySQLA会长期成为一家专注于开放源代码的公司。我很有信心,Sun公司在开放源代码方面做出了坚定的承诺,如开放Solaris、开放Off和开放Ja源代码,我们对开放源代码的继承会得到很好的照顾。IthinkSunistheestpossileuyer,ecauseofthefollowingreasons:(Notethatthisisofcosemyinterpretation)我认为Sun是最佳家,原因如下:(注意,这当然是我的理解)Suniscommittedtoopensoce.Sun致力于开放源代码。Sundoesn'theandataaseoftheirown;Inotherwords,noriskofinternalconflictsetweensimilarproducts.Sun没有自己的数据库;换句话说,同类产品之间没有内部冲突的风险。Sununderstandswhatitmeanstoeirtualcompanywherepeopleworkfromhome.Sun了解虚拟公司的含义,人们可以。Sunhasagoodunderstandingofdevelopersneedsandthereisagoodchancethattheintegrationofthetwocompanieswillerelativeooth.Sun非常了解开发人员的需求,两家公司的整合很有可能会较顺利。SunhassaidtheywilllettheMySQLdeveloperscontinueworkaseforeintheirownunitandwithoutigchanges(exceptofcosechangesfortheetter!).Sun公司表示,他们会让MySQL开发人员继续在自己的部门工作,不会有大的变动(当然,更好的变动除外!)。AnotherreasonIelievewearegoodforeachotheristhedifferenthistory:我认为我们彼此合适的另一个原因是历史不同:Sunisahardwarecompanywhohaseenforalongtimeinatransitiontoalsoeasoftwarecompany.Intheirsoftwarespacetheywherefirstclosedsoceuthaslaystartedtochangemostoftheirsoftwaretoopensoce/freesoftware.Sun是一家硬件公司,长期以来一直在向软件公司转型。在软件领域,他们最初是封闭源代码的,但最近开始将大部分软件改为开放源代码/免费软件。MySQLAontheotherhandisacompanythatwasoriginallytotallycommittedtofreesoftware/opensoceutwhohaslaychangedtoemoreclosed.另一方面,MySQLA原本是一家完全致力于自由软件/开源的公司,但近来已转变为更加封闭的公司。Thisdealwillallowothcompaniestolearnfromeachotherssuccessesandfailesanduildastrongercompanythanwewouldheeenaletodoseparay.这笔交易将使两家公司能够从彼此的成功和失败中吸取经验教训,并建立一个我们各自时更强大的公司。Amatchtrulymadeinheen(sorrySun:).LetshopethatwehereonEarthwillealetomaketheestofit!这是天作之合(对不起,Sun:)。希望我们在地球上的人能够充分利用这一点!

开源骇客沦为大厂社畜

通过MySQLA,Sun公司不仅仅获得了MySQL的知识产权,也顺带将Monty收入囊中。双方对于MySQL的前景踌躇满志,准备大搞特搞新一代存储引擎Maria,用于取代InnoD引擎。加入Sun公司后,Monty发现Sun公司的一系列承诺并没有兑现,而大厂的条条框框迅速磨灭了初来乍到的新鲜感。精神和财富双双自由的Monty经历一系列理念上的摩擦后,毅然决然选择了离职。以下几篇博客展现了Monty的心路历程。

2008年6月30,Monty发布了一篇名为“ringinguptheay”的文章,表达了自己对Maria引擎的信心。自从MySQL支持InnoD引擎之后,用户逐渐放弃了Monty开发的MyAM引擎,变相投入了Oracle的怀抱。虽然InnoD引擎的代码也是开源的,但是这让Monty如鲠在喉,研发Maria引擎来取代InnoD迫在眉睫。在设计上,Maria引擎修正了MyAM的一系列问题,但是在事务支持和稳定性方面仍然落后于InnoD,这使得Monty加入Sun后继续加班加点。

AtlastwearecodecompletewithMaria1.5,thesocalledcrashsafeversionofMyAM.Notethatcodecompletemeansthatallfeatesarecoded,notthatthecodeis100%ugfree!最后,我们终于完成了Maria1.5的代码,也就是所谓的MyAM安全崩溃版本。请注意,代码完成意味着所有功能都已编码,而不是说代码100%没有错误!Thecodeshouldeailalesooninazrrepositorynearyou.Wewillalsoshortly(assoonaswepassalluilds)makeanormalsoceandinaryreleaseofMySQL-5.1-Mariafromhere.代码很快就会出现在您附近的zrrepo中。我们还将在短期内(一旦通过所有构建)从这里发布MySQL-5.1-Maria的正常源代码和二进制版本。Thereisstillacoupleofminorugsthatweknowaoutandwewillfixthemshortly,utnothingthatshouldstopyoufroming/usingMaria.SeethefileKNOWN_UGS.txtinthesocereleasefordetails.据我们所知,MySQL-5.1-Maria还存在一些小ug,我们将在短期内修复它们,但没有什么可以阻止你/使用Maria。详情请参见源代码版本中的KNOWN_UGS.txt文件。ThecrentreleaseplanforMySQL-5.1-Mariaisasfollows:MySQL-5.1-Maria当前的发布计划如下:Thecrentreleasewilleanalpharelease.(Technicallyitcouldheeenaetareleaseutecauseweheaddedsomuchnewcodewewantedtosignalthisyanotheralpharelease).当前版本将是alpha版本。(从技术上讲,它本可以是一个eta版本,但由于我们添加了大量新代码,因此我们希望通过发布另一个alpha版本来表明这一点)。Ifthereisnotanysignificantugsfoundthewouldrequireamajorrewriteofthecode,wewillforthenextreleasefixthefoundugsandmakeaetarelease.ThisshouldhopefullyedoneAugust.如果没有发现需要重新编写代码的重大错误,我们将在下一个版本中修复发现的错误,并发布版。希望能在8月份完成。Wewillcontinuedoingoneetareleasespermonthuntilthereisnomoreredesigndoneandthenewugreportsaredowntoaminimum.ThenwewillmakeafinalRCandthenaGArelease(assumingeverythinggoeswell).我们将继续每月发布一个版,直到不再需要重新设计,新的错误报告减少到最低限度。然后,我们将发布最终RC版和GA版(假设一切顺利)。WehesoofareenaletokeeptheopensugsinMariadowntoaminimum.Thistogetherwithaquitelargesuitemakeus,theMariateam,reasonaleconfidentthatwedon'tneedmanyetareleaseseforewecancometoRCandthenGA.ThemorepeoplethatisdownloadingMariatoanduseit,thefasteritwillgetstale.Pleasereportanyugsyoufindandwewilldooesttofixthem!到目前为止,我们已经将Maira未解决的ug降到了最低。这一点再加上一个相当大的套件,使我们,Maria团队,有理由相信,在发布RC版和GA版之前,我们不需要太多的版。下载Maria进行和使用的人越多,它就会越快稳定。请报告您发现的任何错误,我们将尽力修复!AtthesametimewearemergingMySQL-5.1-MariaintothestandardMySQL-6.0tree,whereMariawilleacorepartoftheserver.同时,我们正在将MySQL-5.1-Maria并入标准的MySQL-6.0代码树中,Maria将成为服务端的核心部分。ThenextstepistospanofaMySQL-6.0-MariatreeinwhichwewillstartworkingonMariafullytransactionalandmoreconcrent.下一步是跨入MySQL-6.0-Maria代码树,我们将开始努力使Maria完全事务化,并且更加并发。ugfixesthataffectsMySQL-5.1-MariawillofcoseedoneinthistreeandthenemergeduptotheMySQL-6.0andMySQL-6.0-mariatrees.影响MySQL-5.1-Maria的错误当然会在这个代码树中完成修复,然后合并到MySQL-6.0和MySQL-6.0-Maria代码树中。ThosethatareinterestedinknownmoreaoutMaria,nowandfute,arewelcometomyMariatalkand/ortheMariaOFatOscononJuly24'th.有兴趣了解Maria现在和未来的更多信息的人,欢迎参加我的Maria讲座以及7月24在Oscon举行的MariaOF。AtOsconTimO'ReillywillinterviewrianAkerandmeonakeynote.Wewillalldooesttomakethisafunandunforgettaleevent!在Oscon会议上,TimO'Reilly将对rianAker和我进行主题采访。我们将尽全力把这次活动办成一次有趣而难忘的盛会!Nowit'stimeformetogoandhemywellearnedvacation.(IactuallyplannedtogoalreadylastMonday,utIwantedtofinishmypartoftheMariaprojecteforegoingandnowit'snextSunday...).AtleastIwillgetsomerestfromcomputersdingthenexttwoweeksaswedon'theanyelectricityinmysummercottageupinVasa.现在我该去度假了。(其实我早在上周一就计划去了,但我想在去之前完成我在Maria项目的那部分工作,现在已经是下周了......)。至少在接下来的两周里,我可以远离电脑休息休息,因为我在瓦萨的华沙别墅里没有电。

在2008年,用户使用的MySQL发行版主要来自于三个团队。Monty负责Maria分支,Perter负责Percona分支,rian负责Drizzle。因为这三个分支都能向MySQL主干推送代码,因此团队之间维持了很好的竞合关系,在一些重要场合也是相互站台,致力于将MySQL生态做大做强。Monty在博客中是这样描述合作关系的:

Forthelast2-3years,rianAkerandIhehadmanydiscussionsaouthowtorefactorMySQL.rianhaseentheonedrivingthesediscussionsyaskingwhysomethingsinMySQLweredoneinacertainwayandinatrue"whatif"manneraskedwhatwouldhappenifwewoulddothingsinanotherway.在过去的两三年里,我和rianAker就如何重构MySQL进行了多次讨论。rian一直在推动这些讨论,他问为什么MySQL中的某些事情要以某种方式进行,并以一种正的"如果"方式问如果我们以另一种方式做事会发生什么。eingtiredofnoteingaletogetcriticallyneededreconstructionworkdoneintheMySQLserver,rianstartedtoworkonDrizzletosearchforanswerstothesequestions.由于厌倦了无法在MySQL服务端中完成急需的重构工作,rian开始开发Drizzle,以寻找这些问题的答案。SowhatisDrizzle?那么,Drizzle是什么?DrizzleiswhatMySQLwouldewithamoreinteractivecommunityinvolvementinthedesignofthesoftwareitself,andhadtargetedwesitedeployments.DrizzleisersionofMySQLthatisdrivenyrianandthecommunity,attemptingtosolvepracticalprolemsthatalargegroupofMySQLusersarefacing.Drizzleisaaller,slimmerand(hopefully)fasterversionofMySQL;FeatesthattheroadDrizzlecommunitydoesnotwantorneedarenowremovedorintheprocessofeingremoved(Thisincludesstoredprocedes,views,triggers,grants,somenon-pluggalestorageenginesandmore).Drizzleisthe3rdforkofMySQLservercodease,utistheonethathas(fornow)themostdevelopersworkingonit.Thetwootherforksare:ProvenScaling'sforkonmirror.provenscalingprovidedyJeremyCole.YoushouldreadPeterZaitsev'slogaoutthis.TheMySQL-5.1-mariafork,providedytheMariateamleadyme.(riandideatuswhenitcomestoopeningupthetreeforoutsidedevelopment;Wearestillatleastamonthawayfromdoingthis).YoucanfindoutmoreaoutDrizzleatrian'slogat://krow.livejonal/.如果社区能更多地参与软件本身的设计,并有针对性地进行部署,那么Drizzle就是MySQL的雏形。Drizzle是由rian和社区推动的MySQL版本,试图解决大量MySQL用户面临的实际问题。Drizzle是一个更小、更轻、(希望)更快的MySQL版本;Drizzle社区不想要或不需要的功能已被移除或正在移除(包括存储过程、视图、触发器、授权、某些非插拔存储引擎等)。Drizzle是MySQL服务端代码库的第三个分叉,但(目前)是拥有最多开发人员的分叉。两个分叉是:ProvenScaling在://mirror.provenscaling上的分叉由JeremyCole提供。您应该阅读PeterZaitsev的相关博客。MySQL-5.1-maria分叉,由我领导的Maria团队提供。(在开放树供外部开发方面,rian确实我们更胜一筹;我们至少还有一个月的时间才能做到)。有关Drizzle的更多信息,请访问rian的博客://krow.livejonal/WhyisitthatthepeopleworkingonDrizzleareextremelyenthusiastiutDrizzle?为什么研究Drizzle的人对Drizzle充满热情?ThisisecauseDrizzlesolvesmanyoftheprolemsthatMySQL'sdevelopmenthashadforyears:ItopensupMySQLdevelopmentforthecommunity;Younolongerhetowaityearstogetyopatchesandresonaleextensionsintotheserver.Criticalugsthatheexistedforyearscanfinallygetfixedasthedevelopmentisnolongerconstrainedyunrealisticreleaseschedulesthatputartificialconstraintsonthingsthatcanefixed.DrizzlewillputsomeMySQLserverdifferentiationonatrue;AitlikeFedoradoestoRedHat.DrizzlehascreatednewexcitementintheMySQLdevelopercommunity;Alotofpeopleseemtoeveryenthusiastictoworkonitinatruecommunity-orientedmanner.DevelopersworkingonDrizzleisdoingdrasticrefactoringoftheserver,somethingthatMySQLplannedtodoyearsagoutneverhappened.Developmentdecisionsisagaindrivenypeoplethatareusingtheserverdaily;ThiswillensethatDrizzlewillefasterandmorestalethanwhatcanedonewithcrentMySQLdevelopmentmodel.DrizzlewilltargettheMySQLcoreusers,theweusers,whoserequirementsheeenignoredforyearswhilethecoreMySQLdevelopersheaddedfeatesthattheydon'tneed.InadditionDrizzlewillincludethelaInnoDcode;Youdon'thetowaitforMySQL6.0orgotothetrouleofannuallydownloadoingandinstallingtheInnoDpluginfromOraclejusttogetaccesstothelaandfasInnoDversion.这是因为Drizzle解决了MySQL开发多年来遇到的许多问题:它为社区提供了更开放的MySQL开发环境;你不再需要等待数年才能将你的补丁和可行的扩展加入服务端。存在多年的关键漏洞终于可以得到修复,因为开发工作不再受制于不切实际的发布时间表,这些时间表人为地了可以修复的问题。Drizzle将对一些MySQL服务端差异化进行正的;有点像Fedora对RedHat的。Drizzle在MySQL开发者社区中引发了新的兴奋点;很多人似乎都非常热衷于以正的社区导向方式来开发它。开发Drizzle的开发人员正在对服务端进行大刀阔斧的重构,而这正是MySQL多年前就计划要做但从未实现的事情。开发决策再次由每天使用服务端的人员做出;这将确保Drizzle当前的MySQL开发模式更快、更稳定。Drizzle将以MySQL核心用户(网络用户)为目标,这些用户的需求多年来一直被忽视,而MySQL核心开发人员却增加了他们不需要的功能。此外,Drizzle还将包含最新的InnoD代码;你不必等到MySQL6.0,也不必为了访问最新最快的InnoD版本而每年从甲骨文公司下载安装InnoD插件。Thatsaid,DrizzleisnotheretoreplacethenormalMySQLserver;DrizzletargetsalimitedutimportantmarketandwillthushelpustheenhancetheMySQLasedofferings.ThinkofDrizzleasthemicrokernelserveraroundwhichotherofferings/featescanedeveloped.尽管如此,Drizzle并不是来取代普通MySQL服务端的;Drizzle瞄准的是一个有限但重要的市场,因此将帮助我们增强基于MySQL的产品。将Drizzle视为微内核服务端,围绕它可以开发产品/功能。Drizzlehasnoreleasescheduleortimeline,utwillfollowatrueopensoceandagilemethodologyofreleasingearlyandreleasingoften;rianexpectsthattherewilleausale,reasonalystaleversionofdrizzlewithin3-4months,uttherearenopromises.Drizzle没有发布计划或时间表,但将遵循正的开源和敏捷方法,即尽早发布、经常发布;rian希望在3-4个月内推出可用的、相当稳定的Drizzle版本,但不做任何承诺。Drizzlewillalsoeofgreathelpforthe'normal'MySQLdevelopers;ylookingathowDrizzleissolvingthingsandyconstantenchmarkingagainstDrizzle,wewillgetaetterinsightintotheweaknessesofthecrentcodeaseandheaetterideaofwhatneedstoefixed;Friendlycompetitionisgood!Drizzle也将为"普通"MySQL开发人员提供巨大帮助;通过观察Drizzle是如何解决问题的,以及不断与Drizzle进行基准较,我们将更深入地了解当前代码库的弱点,并对需要修复的问题有更好的认识;友好的竞争是好事!DrizzleisoneofthegoodthingsthatheeenmadepossileySunacquiringMySQL.rianhaseenworkingonDrizzlewiththelessingandencoagementfromSun'suppermanagement.WearefindingSuntoeopenandencoagingofinnovation,thishaseenagoodaspectoftheacquisition.Drizzle是SunMySQL带来的好处之一。在Sun高层人员的支持和鼓励下,rian一直在开发Drizzle。我们发现Sun是开放和鼓励创新的,这是的一个好的方面。MypersonalreactiontoDrizzleisthatIamveryenthusiasticforthisnewkidontheMySQLlock.Idon'tagreewitheverythingthatisdone,utmostthingsmakesalotofsense.IamlookingforwardtoalotofveryinterestingdiscussionsaoutsolutionsinDrizzlethatwillhelpimproveothMySQLversions.我个人对Drizzle的反应是,我对这个MySQL领域的新生力量充满热情。我并不完全同意Drizzle所做的一切,但大多数事情都很有意义。我期待着就Drizzle中的解决方案进行许多非常有趣的讨论,这将有助于改进两个MySQL版本。

很快,Monty发现Sun公司的执行动作和自己想要的有很大冲突。多年以来,Monty一直想要让MySQL的开发过程更加面向外部,而Sun公司在这方面的动作很慢。终于,在持续了几个月的“斗争”之后,Monty以一种平和的方式宣布了退出,并表示将在开源领域与Sun公司保持良好的合作关系。在后继的博客中,Monty感谢Sun公司为自己举办了一个盛大的告别晚宴。就像那篇博客的名字一样,Monty对于Sun公司的认可更多是“thankforallthemeat”上,而不是开源理念以及开发模式。

IhenowdepartedfromSunandjoinedmyowncompany,MontyProgramA.我现在已经离开Sun,加入了自己的公司MontyProgramA。TherewerealotofrumorsaroundmeresigninginAugust/Septemerlastyear.Ididn'tackthenwanttocommentontherumors,ecauseIwasstilltryingtoworksomethingoutwithSun.NowIcanfinallydescrieaitofwhatwasgoingon.去年月间,关于我辞职的传言甚嚣尘上。当时我并不想对这些传言发表评论,因为我还在努力与Sun解决一些问题。现在我终于可以描述一下当时的情况了。Inthiscase,therumorshadsomeelementsoftruthtothem.IhadtoldmanagementthatIthuswouldesumittingmyresignationimmediayasIstronglyelievedthatthe5.1releasewasnotreadyandthatthoseprolemsneededtoefixedeforeitwentGA.Thisaction,togetherwithotherpeoples´efforts,didhethewantedeffectandImadeanagreementwithSun´suppermanagementtonotinitiatemyresignationutinsteadstayaroundforthreemoremonthstohelpSunworkoutthingsinMySQLDevelopmentandalsogiveSunachancetocreateanoptimalroleformewithinSun.在这种情况下,传言有一定的实性。我曾告诉层,我将立即递交辞呈,因为我坚信5.1版本还没有准备好,需要在正式发布之前解决这些问题。这一举动加上人的努力,确实收到了预期的效果,我与Sun高层人员达成协议,不提出辞职,而是再留三个月,帮助Sun解决MySQL开发中的问题,同时也让Sun有机会为我在Sun内部创造一个最佳角色。Thethreemonthsdidstretchouttosevenmonths,andthechangesIhadhopedSunwouldapplytointheMySQLDataasegrouptofixodevelopmentandcommunityprolemsdidnothappenfastenough.三个月的时间确实延长到了七个月,而我原本希望Sun公司能对MySQL数据库部门进行改革,以解决我们的开发和社区问题,但改革的速度不够快。SunandIconcludedintheendthatIhemuchhigherchancesofachievingmygoalsoutsideofSun,soit'sjustettertoswallowtheitterapple,gooutandgetthingsgoing.Wepartedingoodtermsandweothexpecttocontinuetodousinessandworktogether.最后,我和Sun公司都认为,我在Sun公司之外实现目标的机会要大得多,所以最好还是吞下苦果,出去闯一闯。我们是在良好的条件下分手的,我们都希望能继续开展业务和合作。ThemainreasonforleingwasthatIamnotsatiiedwiththewaytheMySQLserverhaseendeveloped,ascaneseenonmypreviouslogpost.InparticularIwouldheliketoseetheserverdevelopmenttoemovedtoatrueopendevelopmentenvironmentthatwouldencoageoutsideparticipationandwithoutanyneedofdifferentiationonthesocecode.Sunhaseenconsideringopeninguptheserverdevelopment,utthepacehaseentooslow.离开的主要原因是我对MySQL服务端的开发方式不满意,这一点可以从我之前的博文中看出。我尤其希望服务端的开发能转移到一个正开放的开发环境中,这样既能鼓励外部参与,又不需要对源代码进行区分。Sun公司一直在考虑开放服务端开发,但步伐太慢。IstillthinkthatSunwastheestpossileuyerforMySQLandIfeelsadthatthingsdidn'tworkouttogether.SunhasalotofgoodthingsgoingonandIhopethattheywillcontinuetheirpathtocreateandpromoteOpensoce.IwilleailaleforSuninhelpingthemwiththeirgoalsintheOpensocespace.我仍然认为,Sun是MySQL的最佳家,我对双方未能成功合作感到遗憾。Sun有很多好事要做,我希望他们能继续走创建和推广开放源码的道路。我将帮助Sun实现开源领域的目标。SowhatwillMontyProgramAandIeworkingon?那么,我和MontyProgramA将做些什么呢?MontyProgramAwilleatrueopensocecompany,withtheadditionalgoalofeingaallerfamilyorientedcompany(10-30employees)whereeveryonecaneownersofthecompany,wherewecareaoutoemployeesandstrivetohefuntogetherandsharetheprofitwecreate.Youcanfindmoreaoutthisat:://zak.greant/hacking-usiness-modelsMontyProgramA将是一家正的开源公司,其附加目标是成为一家小型的家庭型公司(10-30名员工),在这里每个人都可以成为公司的主人,我们关心我们的员工,努力共同享受乐趣,分享我们创造的利润。欲了解更多信息,请访问:://zak.greant/hacking-usiness-modelsSomeoftheMariateammemerswillfollowmeandsomewillstayinSun.TheplanistocontinuetoworkontheMariaprojectmoreorlessasefore.ThemaindifferencefromeforeisthattheMariaprojectandit'smailinglistswillmovetolaunchpadandwewillstartusingfree-nodeforoIRCcommunications(channel#maria).Maria1.5(thecrashsafeversionofMyAM)isnowinetaandwehopetogetinariesoutsoon.WehealreadystartedworkingonMaria2.0feates(fulltransactionalrelease)andperformanceissues.FrommysidetherewilleaalltimedelayintheMariadevelopment(one-twomonthsdelayinthefinalrelease)asIhetosetupthingsinthenewcompany.Maria团队的部分成员将跟随我,部分成员则将留在Sun。我们的计划是,或多或少像以前一样继续开展Maria项目。与之前的主要区别是,Maria项目及其邮件列表将转移到launchpad,我们将开始使用free-node进行IRC通信(频道#maria)。Maria1.5(MyAM的崩溃安全版本)现已进入阶段,我们希望能尽快发布二进制文件。我们已经开始着手开发Maria2.0功能(完整事务版本)和性能问题。从我的角度看,Maria的开发工作将略有延迟(最终版本将延迟一到两个月),因为我必须将新公司完全准备好。MontyProgramAwillstartworkingactivelywiththeMySQLcommunitytoallowstalepatchestotheMySQL-5.1-Mariatreeandcreateanactivecommunityaroundthistree.WewillalsodosomerestructingoftheMySQLcodetomakeitr,fasterandwithfewerugs.MontyProgramA将与MySQL社区积极合作,为MySQL-5.1-Maria代码树提供稳定的补丁,并围绕该代码树创建一个活跃的社区。我们还将对MySQL代码进行一些重组,使其更简单、更快速、错误更少。Oneshouldn'tregardtheMySQL-MariatreeasaforkutasaranchasweintendtopullinallchangesfromtheofficialtreetotheMySQL-Mariatree;Someofthechangeswillproalyereworkedutwewilldooesttoensethatfortheendusertheyshouldlookandfeelthesame.我们不应该把MySQL-Maria代码树看作是一个分叉,而应该看作是一个分支,因为我们打算把树上的所有改动都拉到MySQL-Maria分支上;有些改动可能会被重新修改,但我们会尽最大努力确保最终用户看起来和感觉上都是一样的。MontyProgramAwillalsodoNRE(Non-recringengineering)tocustomersonMySQLandMariaandputthisworkintotheMySQL-Mariatree.(Shamelesspromotion:Ifyouwantsomethingtoedone,fixedorchangedintheMySQLserver,pleasecontactmeat"montyat://askmonty.org"foranoffer).MontyProgramA还将在MySQL和Maria上为客户做NRE(非经常性工程),并把这些工作放到MySQL-Maria代码树中:如果您希望在MySQL服务端中完成、修复或更改某些内容,请通过"montyat://askmonty.org"与我,以获取报价)。Inaddition,IwillcontinuetoworkwithandinvestindisruptivetechnologystartUpcompaniesthatdoopensoceandcommunityproducts.(Anothershamelesspromotion:Ifyouthinkyouheanuniqueusinessideaintheopensocespace,contactmeon"montyat://openoceancapital"!)此外,我将继续与从事开源和社区产品的颠覆性技术创业公司合作,并对其进行投资。(另一个的宣传:如果你认为自己在开源领域有特的商业想法,请通过"montyat://openoceancapital"与我!)。Iamalsoworkingonopeninganewkindofrestaantthatwillusedataasestoachieveaettercustomerexperience.(Expectaspecialdiscountfordataasedevelopers!).Moreaoutthislater...我还在筹建一家新型餐厅,利用数据库为顾客提供更好的体验。(数据库开发人员可享受特别折扣!)。更多信息请稍后了解...MorermationofwhatIwilledoingwillefoundat://askmonty.orgor://openoceancapital(Notethattheaovewesiteswilleunderconstructionsforthenextfewweeks)想要更了解我的工作内容,请访问://askmonty.org或://openoceancapital(请注意,上述在未来几周内将处于建设中)

虽然Monty离开了Sun公司,但是他依然认为将MySQLA给Sun公司是一个正确的决定,自己能够从外部公司的角度帮助MySQL继续发展。然而,他并没有意识到将MySQL的知识产权转交给Sun公司会有什么样的后果。Sun公司的财务状况在持续恶化,很快做出了一个意料之外的决定。这个决定影响了整个MySQL生态的走向,并导致了Monty开源理念的“黑化”。

Oracle强夺MySQL

2009年,Sun公司看起来还是一副光鲜的样子,实际上已经深陷财务危机。如果没有大笔的资金注入,公司将难以为继。在这个关键时刻,Monty的假想敌LarryEllison为Sun公司提供了一个解决方案,即“OracleSun”。Sun公司MySQLA发生在2008年1月前后,而Oracle公开宣布要约则发生在2009年4月之前。在这两个时间点之间,Sun公司层最重要的任务就是抱紧Oracle,让公司能够活下去。LarryEllison对MySQL的态度我们不得而知,但是Monty打心底认为Oracle了Sun公司之后会对MySQL下黑手。在得知提案得到了的同意后,Monty在MySQL社区发起了活动,试图影响欧盟员会来阻碍事宜。在书里面,Monty向社区强调了MySQL与Oracle在数据库方面的竞争关系,试图营造一种“霸道总裁强抢民女”的氛围(MySQL里面的“My”是Monty女儿的名字)。考虑到了吃瓜群众不一定愿意写邮件,Monty还为他们提供了邮件模版,只要复制粘贴就能发送。以下是Monty的原文:

I,Michael"Monty"Widenius,thecreatorofMySQL,amaskingyougentlytohelpseMySQLfromOracle'sclutches.WithoutyoimmediatehelpOraclemightgettoownMySQLanydaynow.ywritingtotheEopeanCommission(EC)youcansupportthiscauseandhelpsecethefutedevelopmentoftheproductMySQLasanOpenSoceproject.我,Michael"Monty"Widenius,MySQL的创建者,紧急请求你们帮助MySQL逃离Oracle的魔掌。如果您不立即伸出援手,Oracle随时都有可能拥有MySQL。通过写信给欧盟员会(EC),您可以支持这项事业,并帮助确保MySQL产品作为开源项目的未来发展。Whatthistextisaout:-Summaryofwhatishappening-WhatOraclehasnotpromised-OraclespastehiorwithOpenSoce-Helpspreadthisrmation(Jumpto'WhatIwanttoaskyoutodo')-Exampleofemailtosendtothecommission(Jumpto'sendthisto:')本文的内容:-事件概述-Oracle未承诺的内容-Oracle公司过去在开源方面的行为-帮助传播此信息(跳转到"我想请您做什么")-向员会发送电子邮件的示例(跳转到"发送到:")Ihespentthelast27yearscreatingandworkingonMySQLandIhope,togetherwithmyteamofMySQLcoredevelopers,toworkonitformanymoreyears.在过去的27年中,我一直在创建和开发MySQL,我希望与我的MySQL核心开发团队一起,为MySQL工作更多的时间。OracleistryingtouySun,andsinceSunoughtMySQLlastyear,OraclewouldthenownMySQL.Withyosupport,thereisagoodchancethattheEC(fromwhichOracleneedsapproval)couldpreventthisfromhappeningordemandOracletochangethetermsforMySQLorgiveotherguaranteestotheusers.Withoutyosupport,itmightnot.TheECisolastighopenowecausetheUSgovernmentapprovedthedealwhileEopeisstillworriedaouttheeffects.Oracle正试图Sun,由于Sun去年了MySQL,因此Oracle将拥有MySQL。有了你们的支持,欧盟员会(Oracle公司需要获得欧盟员会的批准)很有可能阻止这种情况的发生,或者要求Oracle公司修改MySQL的条款,或者向用户提供保证。如果没有你们的支持,可能就不会发生。欧共体是我们现在最后的希望,因为已经批准了这项交易,而欧洲还在担心其影响。InsteadofjustworkingoutthiswiththeECandagreeonappropriateremediestocorrectthesituation,OraclehasinsteadcontactedhundredsoftheirigcustomersandaskedthemtowritetotheECandrequireunconditionalacceptanceofthedeal.AccordingtowhatIeentold,Oraclehaspromisedtothecustomers,amongotherthings,that"theywillputmoremoneyintoMySQLdevelopmentthanwhatSundid"andthat"iftheywouldeveraandonMySQL,aforkwillappearandtakecareofthings".Oracle公司没有与欧盟员会一起解决这个问题,并商定适当的补救措施来纠正这种情况,而是了数百家大客户,请他们致函欧盟员会,要求无条件接受这项交易。据我所知,Oracle公司已向客户承诺,"在MySQL的开发上,他们将投入Sun更多的资金",而且"如果他们放弃MySQL,将会出现一个分叉来解决这个问题"。HoweverjustputtingmoneyintodevelopmentisnotproofthatanythingusefulwilleveredeliveredorthatMySQLwillcontinuetoeacompetitiveforceinthemarketasit'snow.然而,仅仅在开发上投入资金并不能保证有用的东西会出现,也不能证明MySQL会像现在这样继续在市场上保持竞争力。AsIalreadyloggedefore,aforkisnotenoughtokeepMySQLaliveforallfute,ifOracle,asthecopyrightholderofMySQL,wouldatanypointdecidethattheyshouldkillMySQLormakepartsofMySQLclosedsoce.正如我之前在博客中提到的,如果Oracle公司作为MySQL的版权持有者,在任何时候都决定死MySQL或将MySQL的部分内容封闭源代码,那么分叉并不足以让MySQL在未来继续生存下去。OracleclaimsthatitwouldtakegoodcareofMySQLutlet'sfacethefacts:Unliketenyearsago,whenMySQLwasmostlyjustusedforthewe,ithasecomeveryfunctional,scalaleandcredile.Nowit'susedinmanyoftheworld'slargestcompaniesandtheyuseitforanincreasingnumerofpposes.ThisnotonlyscaresutactuallyhtsOracleeveryday.OraclehetolowerprsallthetimetocompetewithMySQLwhencompaniesstartnewprojects.SomecompaniesevenmigrateexistingprojectsfromOracletoMySQLtosemoney.OfcoseOraclehasalotmorefeates,utMySQLcanalreadydoalotofthingsforwhichOracleisoftenusedandhelpspeoplesealotofmoney.OvertimeMySQLcandotoOraclewhattheoriginallyelittledLinuxdidtocommercialUnix(roughlyspeaking).Oracle公司声称会妥MySQL,但让我们面对现实吧:与十年前不同的是,当时MySQL主要用于万维网,而现在它已经变得非常实用、可扩展且可信。现在,世界上许多大公司都在使用MySQL,而且使用的目的越来越多。这不仅让Oracle公司感到恐惧,而且实际上每天都在伤害Oracle公司。当公司启动新项目时,Oracle公司不得不持续降低与MySQL竞争。有些公司甚至将现有项目从Oracle迁移到MySQL以节省开支。当然,Oracle有更多的功能,但MySQL已经可以做很多Oracle常用的事情,并帮助人们节省了很多钱。随着时间的推移,MySQL对Oracle的影响就像当初被轻视的Linux对商业Unix的影响一样(大致如此)。SoIjustdon'tuyitthatOraclewilleagoodhomeforMySQL.AweakMySQLisworthaoutoneilliondollarsperyeartoOracle,mayemore.AstrongMySQLcouldnevergenerateenoughincomeforOraclethattheywouldwanttocannializetheirrealcashcow.Idon'tthinkanycompanyhaseverdoneanythinglikethat.That'swhytheECisskepticandformalizeditsojectionsaoutamonthago.因此,我不相信Oracle会成为MySQL的好归宿。对于Oracle公司来说,弱小的MySQL每年价值约10亿美元,甚至更多。一个强大的MySQL不可能为Oracle带来足够的收入,以至于他们想蚕食自己正的摇钱树。我不认为有任何公司做过这样的事情。这就是欧盟员会持怀疑态度并在一个月前正式提出反对意见的原因。RichardStallmanagreesthatit'sveryimportantwhichcompanyownsMySQL,thatOracleshouldnoteallowedtouyitunderpresenttermsandthatitcan'tjustetakencareofyacommunityofvolunteers.://keionline.org/ec-MySQLRichardStallman也认为MySQL的所有者是哪家公司非常重要,Oracle公司不应该被允许以目前的条件它,而且它不能仅仅由一个志愿者社区来。://keionline.org/ec-MySQLOraclehasNOTpromised(asfarasIknowandcertainlynotinalegallyindingmanner):-Tokeep(allof)MySQLunderanopensocelnse-Nottoaddclosedsoceparts,modulesorrequiredtools-TokeepthecodeforMySQLenterpriseeditionandMySQLcommunityeditionthesame-TonotraiseMySQLlnseorMySQLsupportprs-ToreleasenewMySQLversionsinaregularandtimelymanner(*)-TocontinuewithduallnsingandalwaysprovideaffordalecommerciallnsestoMySQLtothosewhoneedsthem(tostoragevendorsandapplicationvendors)orprovideMySQLunderamorepermissivelnse-TodevelopMySQLasanOpenSoceproject-Toactivelyworkwiththecommunity-Applysumittedpatchesinatimelymanner-TonotdiscriminatepatchesthatmakeMySQLcompetemorewithOraclesotherproducts-ToensethatMySQLisimprovedalsoinmannersthatmakeitcompeteevenmorewithOracles'mainofferingOracle公司没有做出任何承诺(据我所知,当然也不具有法律约束力):-将(所有)MySQL保持在开源许可下-不添加闭源部分、模块或所需工具-保持MySQL企业版和MySQL社区版的代码相同-不提高MySQL许可证或MySQL支持-定期、及时地发布新的MySQL版本(*)-继续使用双重许可,并始终向有需要的用户(存储商和应用程序商)提供合理的MySQL商业许可,或以更宽松的许可提供MySQL-将MySQL作为开源项目进行开发-积极与社区合作-及时应用提交的补丁-不歧视使MySQL与Oracle产品竞争更激烈的补丁程序-改进MySQL,确保它能与Oracle公司的主要产品形成更大的竞争FromlookingathowOraclehandledtheInnoDacquisition,Idon'thehighhopesthatOraclewilldotheaoverightifnotrequiredtodoso:从Oracle处理InnoD案的方式来看,如果不要求Oracle做到以上几点,我不会对Oracle寄予厚望:ForInnoD:-ugfixesweredone(utthiswasdoneunderacontractualoligation)-Newfeates,likecompressionthatwasannouncedeforeacquisition,took3yearstoimplement-Notimetalesorinsightintodevelopment-Thecommunitywherenotallowedtoparticipateindevelopment-Patchesfromusers(likeGoogle)thatwouldheincreasedperformancewasnotimplemented/releaseduntilafterOracleannounceditwasacquiringSun-OraclestartedworkingonInnoD+,aetter'closedsoce'versionofInnoD-IntheendSunhadtoforkInnoD,justtoealetoimproveperformance对于InnoD:-进行了ug修复(但这是根据合同义务进行的)-新功能,如前宣布的压缩功能,花了3年时间才实现-没有时间表,也不了解开况-不允许社区参与开发-直到Oracle宣布Sun后,用户(如Google)提出高性能补丁才得以实施/发布-Oracle开始开发InnoD+,一个更好的、“闭源”的InnoD版本-为了提高性能,最终Sun不得不分叉InnoDIt'struethatdevelopmentdidcontinue,utthiswasmoretoealetocontinueusingInnoDasapresseonMySQLA.的确,开发工作仍在继续,但这更多是为了能够继续使用InnoD作为MySQLA的压力。NotethatOracle'sdevelopmentontheLinuxkernelisnotcomparalewithMySQL,ecause:-OracleisusingLinuxasthemainplatformfortheirprimarydataaseproduct(andthusaetterLinuxmakesOraclesplatformetter)-TheGPLcodeinthekernelisnotaffectingwhatisrunningontoponit(ecauseofanexceptioninLinux)请注意,Oracle在Linux内核上的贡献与MySQL无法相提并论,因为:-Oracle将Linux作为其主要数据库产品的主要平台(因此,更好的Linux会使Oracle平台变得更好)-内核中的GPL代码不会影响上面运行的内容(因为Linux的特殊性)。ecausewedon'theaccesstoadataaseofMySQLcustomersanduserstheonlywaywecangetthewordoutistousetheMySQLandOpenSocecommunity.IwouldneverheresortedtothisifOraclehadnotrokentheestalishedrulesinanticompetitivemergercasesandtrytoinfluencetheECyactivelymoilisingthecustomersafterthestatementofojectionwasissued.因为我们无法获得MySQL的客户和用户列表,所以我们只能利用MySQL开源社区来传播消息。如果Oracle公司没有违反反竞争兼并案的既定规则,在反对声明发布后积极动员客户去影响欧盟员会,我是绝不会采取这种做法的。It'sverycriticaltoactuponthisASSOONASPOSSILEasEC,dependingonwhatOracleisdoing,needstomakeadecisionaround2010-01-05.ecauseofthestrictdeadline,<>everyemailcounts!尽快采取行动至关重要,因为欧盟员会需要根据Oracle公司的行动在2010-01-05前后做出决定。由于截止期很紧,每封邮件都很重要!WhatIwanttoaskyoutodo-Forwardthisemail/messagetoeveryonethatyouknowisusingMySQLorOpenSoce/freesoftwareandtoallemaillistwhereyouknowtherearepeoplepresentthatuseorcareaoutMySQLandopensoce(pleasecheckfirstthatthisemailhasn'teensentthereefore)-Alternativelysendemailswithrmationaoutthisandlthemtoread://monty-says.logspot/2009/12/help-sing-MySQL.html-Addlinksonyowesiteto://monty-says.logspot/2009/12/help-sing-MySQL.htmlwiththetext"WeareusingMySQL,helpseit",forthedationofthenexttwoweek.-logaoutthis(feelfreetoincludethistextorjustlinktomylog)-Callyphone(don'tcontactyemail,thisisgent)yoossorVPandaskhimtoreadthisemailandsendalettertotheECcommissionASAP!-Ifyoudon'theanyonetocontactaove,sendanemailtotheEC!我想请您做的是:-将此电子邮件/信息转发给您知道的所有使用MySQL或开源/自由软件的人,以及所有您知道有人使用或关心MySQL和开源软件的电子邮件列表(请先检查此电子邮件之前是否被发送过)-或者发送包含相关信息的电子邮件,告诉他们阅读://monty-says.logspot/2009/12/help-sing-MySQL.html-在接下来的两周内,在您的上添加://monty-says.logspot/2009/12/help-sing-MySQL.html的链接,并注明"我们正在使用MySQL,请帮助拯救它"-在博客上发布相关信息(可随意添加此文本或直接链接到我的博客)-给你的老板或副总裁打(不要用电子邮件,这很紧急),请他阅读这封邮件,并尽快给欧共体员会发一封信!-如果您没有上述人,请向选会发送电子邮件!AswewanttheECtogetacorrectpicteofthesituation,wewantyoutofirstfillintheupperpartandthenchooseoneoftheproposedtextselowthatestmatchesyoviewofthesituation.FeelfreetosupplyyoowntextandadditionalrmationifyouthinkthiswillhelptheECtoreachaetterunderstandingofhowMySQLisused.由于我们希望执会能够正确了解情况,我们希望您首先填写上半部分,然后从下面的建议文本中选择一个最符合您对情况看法的文本。如果您认为这有助于员会更好地了解MySQL的使用情况,请随时提供您自己的文本和补充信息。Sendthisto:comp-merger-registry@ec.eopa.eu请发送至:comp-merger-registry@ec.eopa.euIfyouwanttokeepusupdated,sendacopytoec@askmonty.org如果您想让我们了解最新情况,请将副本发送至ec@askmonty.orgIfyouheextratimetohelp,fillinthefollowing,ifnot,justskiptothemaintext.如果您有额外的时间,请填写以下内容;如果没有,请跳至正文。Name:姓名Title:头衔Company:公司Sizeofcompany:公司规模HowmanyMySQLinstallations:安装了多少个MySQLTotaldatastoredinMySQL(megayte):MySQL中存储的数据总量(兆字节)ForwhattypeofapplicationsisMySQLusedMySQL用于何种应用:ShouldthisemailekeptconfidentialyEC:Yes/No此电子邮件是否应由欧盟员会保密:是/否Copyoruseoneoftheelowtextsasaaseforyoanswer:复制或使用以下文本之一作为你的答案的基础:a)Idon'ttrustthatOraclewilltakegoodcareofMySQLandMySQLshouldedivestedtoanothercompanyorfoundationthatheeverythingtogainydevelopingandpromotingMySQL.OneshouldalsointhefuteealetocomineMySQLwithclosedsoceapplication(eitheryexceptions,amorepermissivelnseorealetoduallnseMySQLunderfaleterms)a)我不相信Oracle公司会妥MySQL,MySQL应该剥离给另一家公司或基金会,因为它们可以通过开发和推广MySQL获得一切好处。将来,人们还应该能够将MySQL与封闭源代码应用程序结合起来(通过例外情况、更宽松的许可证或以优惠条件获得MySQL的双重许可证)。)IthinkthatOraclecouldeagoodstewardofMySQL,utIwouldneedECtohelegallyindingguaranteesfromOraclethat:-AllofMySQLwillcontinuetoefullyOpenSoce/freesoftwareinthefute(noclosedsocemodules).-OpenSoceversionanddual-lnsedversionofMySQLshouldhesamesoce(liketoday).-Thatdevelopmentwilledoneincommunityfriendlyway.-Themanualshouldereleasedunderapermissivelnse(sothatonecanforkit,thesamewayonecanforktheserver).-ThatMySQLshouldereleasedunderamorepermissivelnsetoensethatforkscantrulycompetewithOracleifOracleisnotagoodstewardafterall.Alternatively:-OneshouldealetoalwaysuylowprdcommerciallnsesforMySQL.-Alloftheaoveshouldeperpetualandirrevocale.ThereshouldalsoemechanisothatifOracleisnotdoingwhatisexpectedofit,forksshouldealetocompetewithOracle.)我认为Oracle公司可以成为MySQL的好管家,但我需要欧共体从Oracle公司获得具有法律约束力的保证:-所有MySQL将在未来继续是完全开源/自由软件(没有封闭源代码模块)。-开源版本和双许可证版本的MySQL应具有相同的源代码(就像现在一样)。-开发工作将以社区友好的方式进行。-手册应在许可协议下发布(这样人们就可以对其进行分叉,就像人们可以对进行分叉一样)-如果Oracle公司终究不是一个好管家,MySQL应在更宽松的许可证下发布,以确保fork可以正与Oracle公司竞争。另外:-人们应该可以随时购低价的MySQL商业许可证。-上述所有许可都应是永久性和不可撤销的。还应该有一种机制,如果Oracle公司没有按预期行事,那么分叉程序应该能够与Oracle公司竞争。c)ItrustOracleandIsuggestthatECwillapprovethedealunconditionally.c)我相信Oracle公司,我建议欧盟员会无条件批准这项交易。--------------------LetusprovetoOracleandECthattheOpenSocecommunityisatrueforceandwetakegoodcareofocitizensandweprefertoworkwithcompaniesthatdoesthesame!让我们向Oracle和欧盟员会证明,开源社区是一股正的力量,我们会照顾好我们的公民,我们也更愿意与这样的公司合作!ThefuteofMySQLisinyohands!MySQL的未来掌握在你们手中!Thanksforthehelp!感谢您的帮助!MichaelWidenius迈克尔-维登纽斯CreatorofMySQLMySQL创建者

从Oracle消息看,LarryEllison最想获得的是Ja编程语言和Solaris作。Oracle原本在应用软件方面就有深厚的积累,加上Sun公司的技术后就能成为“家提供从应用到磁盘整体解决方案”的商。字面上看,Oracle对MySQL的知识产权也并非志在必得。如果让MySQL成为OracleSun的绊脚石,是否能够迫使Oracle承诺保持MySQL的开放性,或者让快饿死的Sun提前剥离MySQL以促成交易?Monty在书里面写的要求有些过分,如要求Oracle保证“MySQL代码完全开源”、“企业版保持低价且不能涨价”、“承诺永远有效不可撤回”等。Monty深谙讨价还价的原则,只有将MySQL变得又臭又硬难以下咽,Oracle和Sun才会低下头来认讨论MySQL的处理方式。在活动传播开之后,有些开源爱好者提出了疑问,对“开源项目为什么可以交易”进行了质疑。MySQL的成功是开源爱好者们一起努力实现的,为什么Monty能让MySQL称为Sun公司的囊中之物,最后沦为Oracle的标的,最终导致了被“死”的可能?如果是Monty一手造就了这个结局,那有什么资格要求对自由经济行为进行干涉?

Monty小心翼翼地回应道,MySQLA被给Sun公司这事他没机会阻止(但是现在有机会阻止Oracle)。Redis的作者Antirez从头看到尾后表示:“GPL是一个错误,但让MySQL赚到了钱”。十年之后,他自己遇到同样抉择的时候坚定选择了钞票,不过这就是另外个故事了,在此略去不表。

为了达成交易,Oracle很快给出了10项承诺:

InorderfthertoreassetheCommission,Oraclehereypuliclycommitstothefollowing:为了让欧盟员会更放心,Oracle公司在此公开承诺如下:1.ContinuedAvailailityofStorageEngineAPIs.OracleshallmaintainandperiodicallyenhanceMySQL'sPluggaleStorageEngineArchitectetoallowuserstheflexiilitytochoosefromaportfolioofnativeandthirdpartysuppliedstorageengines."MySQL'sPluggaleStorageEngineArchitecteshallmeanMySQL'screntpractofusing,pulicly-ailale,documentedapplicationprogrammingintecestoallowstorageenginevendorsto"plug"intotheMySQLdataaseserver.DocumentationshalleconsistentwiththedocumentationcrentlyprovidedySun.1.存储引擎API的持续可用性。Oracle将并定期增强MySQL的可插拔存储引擎架构,使用户能够灵活地从本机和第三方提供的存储引擎组合中进行选择。“MySQL的可插拔存储引擎架构”指的是MySQL当前使用的、公开的、被文档记录的应用程序编程接口,该架构允许存储引擎商""到MySQL数据库服务端。文档应与Sun目前提供的文档一致。2.Non-assertion.Ascopyrightholder,OraclewillchangeSun'screntpolicyandshallnotassertorthreatentoassertagainstanyonethatathirdpartyvendor'simplementationsofstorageenginesmustereleasedundertheGPLecausetheyheimplementedtheapplicationprogrammingintecesailaleaspartofMySQL'sPluggaleStorageEngineArchitecte.AcommerciallnsewillnoterequiredyOraclefromthirdpartystorageenginevendorsinordertoimplementtheapplicationprogrammingintecesailaleaspartofMySQL'sPluggaleStorageEngineArchitecte.OracleshallreproducethiscommitmentincontractualcommitmentstostoragevendorswhoatpresentheacommerciallnsewithSun.2.不主张。作为版权持有者,Oracle将改变Sun的现行政策,不主张或威胁主张第三方厂商的存储引擎实现必须以GPL发布,因为它们已经实现了MySQL可插拔存储引擎体系结构的部分应用程序编程接口。Oracle将不要求第三方存储引擎商提供商业许可,以便实施作为MySQL可插拔存储引擎架构的部分应用程序编程接口。Oracle将在对目前与Sun签订了商业许可的存储厂商的合同中承诺重申这一承诺。3.Lnsecommitment.UponterminationoftheircrentMySQLOEMAgreement,OracleshallofferstoragevendorswhoatpresentheacommerciallnsewithSunanextensionoftheirAgreementonthesametermsandconditionsforatermnotexceedingDecemer10,2014.OracleshallreproducethiscommitmentincontractualcommitmentstostoragevendorswhoatpresentheacommerciallnsewithSun.3.许可承诺。在当前的MySQLOEM协议终止后,Oracle应向目前拥有Sun商业许可的存储厂商提供延期协议,延期的条款和条件不变,期限不超过2014年12月10。Oracle将在对目前与Sun签订了商业许可的存储厂商的合同中承诺重申这一承诺。4.CommitmenttoenhanceMySQLinthefuteundertheGPL.OracleshallcontinuetoenhanceMySQLandmakesusequentversionsofMySQL,includingVersion6,ailaleundertheGPL.Oraclewillnotreleaseanynew,enhancedversionofMySQLEnterpriseEditionwithoutcontemporaneouslyreleasinganew,alsoenhancedversionofMySQLCommunityEditionlnsedundertheGPL.OracleshallcontinuetomakethesocecodeofallversionsofMySQLCommunityEditionpuliclyailaleatnocharge.4.承诺将在GPL下增强MySQL。Oracle将继续增强MySQL,并在GPL下提供MySQL的后续版本,包括第6版。Oracle在发布任何新的增强版MySQL企业版的同时,需要发布GPL许可的增强版MySQL社区版。Oracle将继续免费公开MySQL社区版的所有代码。5.Supportnotmandatory.CustomerswillnoterequiredtopchasesupportservsfromOracleasaconditiontootainingacommerciallnsetoMySQL.5.支持不是强制性的。客户无需购Oracle的支持服务,也可以获得MySQL商业许可。6.IncreasespendingonMySQLresearchanddevelopment.OraclecommitstomakeailaleappropriatefundingfortheMySQLcontinueddevelopment(GPLversionandcommercialversion).Dingeachofthenextthreeyears,Oraclewillspendmoreonresearchanddevelopment(R&D)fortheMySQLGloalusinessUnitthanSunspentinitsmostrecentfiscalyear(USD24million)precedingtheclosingofthetransaction.6.增加MySQL研发支出。Oracle公司承诺为MySQL的持续开发(GPL版本和商业版本)提供适当的资金。在未来三年中的每一年,Oracle用于MySQL全球业务部门的研发(R&D)支出将超过Sun在交易完成前最近一个财政年度的支出(2400万美元)。7.MySQLCustomerAdvisoryoard.Nolaterthansixmonthsaftertheanniversaryoftheclosing,Oraclewillcreateandfundacustomeradvisoryoard,includinginparticularendusersandemeddedcustomers,toprovideguidanceandfeedackonMySQLdevelopmentprioritiesandotherissuesofimportancetoMySQLcustomers.7.MySQL客户咨询员会。不迟于交易完成周年后的六个月,Oracle将创建一个客户咨询员会并为其提供资金,其别包括最终用户和嵌入式客户,以便就MySQL开发的优先事项以及对MySQL客户具有重要意义的其它问题提供指导和反馈。8.MySQLStorageEngineVendorAdvisoryoard.Nolaterthansixmonthsaftertheanniversaryoftheclosing,Oraclewillcreateandfundastorageenginevendoradvisoryoard,toprovideguidanceandfeedackonMySQLdevelopmentprioritiesandotherissuesofimportancetoMySQLstorageenginevendors.8.MySQL存储引擎商咨询员会。不迟于交易完成周年后的六个月,Oracle将创建存储引擎商咨询员会并为其提供资金,以便就MySQL开发的优先事项以及对MySQL存储引擎商具有重要意义的问题提供指导和反馈。9.MySQLReferenceManual.Oraclewillcontinuetomaintain,updateandmakeailalefordownloadatnochargeaMySQLReferenceManualsimilarinqualitytothatcrentlymadeailaleySun.9.MySQL用户手册。Oracle将继续、更新并免费提供与Sun目前提供的手册质量类似的MySQL用户手册。10.PreserveCustomerChoforSupport.Oraclewillensethatend-userandemeddedcustomerspayingforMySQLsupportsuscriptionswillealetorenewtheirsuscriptionsonanannualormulti-yearasis,accordingtothecustomer'spreference.10.保留客户对支持的选择权。Oracle将确保支付MySQL支持订阅费用的最终用户和嵌入式客户,能够按照自己的偏好每年续费或者多年一次性续费。Thegeographicscopeofthesecommitmentsshalleworldwideandthesecommitmentsshallcontinueuntilthefifthanniversaryoftheclosingofthetransaction.这些承诺的地理范围将遍及全球,这些承诺将持续到交易完成五周年。

Oracle明白打蛇打七寸的道理,与其解决Monty提出来的“问题”,不如解决向欧盟员会提出问题的“人”,也就是MySQL的用户、客户以及商。Oracle提出的10项承诺保证用户和客户将在5年内以同样的方式使用MySQL各种版本(包括新版本),同时也给了上游的引擎开发商以及下游的应用开发商相同的合作条款保障。值得注意的是,Oracle既不承诺开放的社区开发协作模式,也没有理会持续低价的要求。更重要的一点是,Oracle只是通过媒体宣布了这些承诺,而这些承诺并不一定会写在Sun的交易合同里面。

Monty从企业侧得到的支持力度被Oracle大大削弱了,只能在承诺的时效性和有效性方面继续进行无力的反抗。他还尝试从互联网使用免费开源的LAMP架构角度,阐述永久开源的MySQL对中小企业的意义,但是Oracle的法务团队实在是太强了,Oracle还是在2010年1月得到了欧盟员会的同意,完成了对Sun公司的,顺带获得了MySQL的知识产权。

MySQL居然是个烫手山芋?

Oracle了Sun公司之后,是怎么处置它的核心资产的呢?让我们将视线稍微拉远一点,看看后面发生了什么事情。

    Solaris作
      2010.3,Oracle修改了Solaris10的授权条款,将“永久免费商用”变成了“90天内”。2010.8,Oracle取消了OpenSolaris开源项目,并宣布以Solaris11Express取源二进制分发版本。2011.11,Oracle发布了Solaris11,这是最后一个Solaris大版本。2012.10-2015.10,Oracle发布了Solaris11.1/11.2/11.3。2017.9,Oracle被曝裁了大量SPARC和Solaris工程师,Austin、SantaClara和lington等地全军覆没。2018.8,Oracle发布了Solaris11.4,这是最后一个Solaris小版本。
    Ja编程语言
      2019年,Oracle修改了JDK8的许可政策,不再提供OracleJDK8的免费更新。2021年,Oracle宣布从JDK11开始,将以NFTC许可发布OracleJDK。2023年,Oracle调整了JaSE的订阅模式,以员工数和数计算费用。

Oracle是一个极其关注技术竞争力和商业回报的公司,这也决定了它在开源方面采取的动作会非常保守,甚至可以说。Oracle关闭OpenSolaris开源项目之前,内部漏出了一些邮件,从中可以看出Oracle的决策逻辑:

SolarisEngineering,致OracleSolaris工程团队:TodayweareannouncingasetofdecisionsregardingthepathtoSolaris11,andansweringkeypendingquestionsonopensoce,opendevelopment,softwareandinarylnses,andhowdevelopersandearlyadopterswillealetouseSolaris11technologyeforeitsreleasein2011.今天,我们将宣布一系列关于Solaris11发展路径的决策,并回答有关开源、开放开发、软件和二进制许可证的关键问题,以及开发者和早期采用者在Solaris112011年发布之前如何使用Solaris11技术的问题。Asyouallknow,theterm“OpenSolaris”haseenusedcolloquiallytorefertoanyorallofacollectionofsocecode,adevelopmentmodel,awesite,alogo,ainaryrelease,asocelnse,acommunity,andmanyotherrelatedthings.Soit’stakenawhiletogoovereachissuefromanorganizationalandusinessperspective,andalignonthecorrectnextstep.Therefore,pleasetakethetimetoreadallofthedetailherecarefully.We’lldiscussostrategyfirst,andthenthedecisionsandchangestoopoliciesandprocessesthatimplementthatstrategy.众所周知,“OpenSolaris”一词通常被用来泛指一系列源代码、一个开发模型、一个、一个标志、一个二进制发布版本、一个源代码许可证、一个社区以及许多相关事物。因此,从组织和商业角度考虑每个问题,并确定正确的下一步行动需要一些时间。因此,请仔细阅读这里的所有细节。我们将首先讨论我们的策略,然后是实施该策略的政策和流程的决策和变化。<>SolarisStrategy/Solaris策略Solarisisthe#1EnterpriseOperatingSystem.WehetheleadingshareofusinessapplicationsonSolaristoday,includingothSPARCandx64.WehemorethantwtheapplicationaseofAIXandHP-UXcomined.Wehearandthatstandsforinnovation,quality,secity,andtrust,uiltono20-yearinvestmentinSolarisoperatingengineering.Solaris是第一大企业级作。我们在今天的Solaris上拥有领先的商业应用份额,包括SPARC和x64。我们的应用基础是AIX和HP-UX的两倍多。我们的品牌代表创新、品质、安全和信任,这是基于我们对Solaris作工程20年的投资。Fromausinessperspective,thepposeofoinvestmentinSolarisengineeringistodriveooverallserverusiness,includingothSPARCandx64,andtodriveusinessadvantagesresultingfromintegrationofmultiplecomponentsintheOracleportfolio.Thisincludescominingoserverswithostorage,oserverswithoswitches,OracleapplicationswithSolaris,andtheeffectivenessoftheservexperienceresultingfromthesecominations.Alltogether,Solarisdrivesaggregateusinessmeasedinmanyillionsofdollars,withsignificantgrowthpotential.从商业角度看,我们对Solaris工程上投资目的是推动我们的整体业务,包括SPARC和x64,并推动由Oracle组合中多个组件集成带来的业务优势。这包括将我们的与我们的存储、我们的交换机、Oracle应用与Solaris结合起来,以及由这些组合带来的服务体验的效果。总之,Solaris推动了以数十亿美元计的整体业务,并具有显著的增长潜力。WeareincreasinginvestmentinSolaris,includinghiringoperatingexpertisefromthroughouttheindustry,asasignofocommitmenttothesegoals.Solarisisnotsomethingweoutsocetoothers,itisnottheassemlyofsomeoneelse’stechnology,anditisnotasustaining-onlyproduct.Weexpectthetopoperatingsengineersintheindustry,i.e.allofyou,toecreatinganddeliveringinnovationsthatcontinuetomakeSolarisunique,differentiated,andvalualetoocustomers,andauniqueassetofousiness.我们正在增加对Solaris的投资,包括从整个行业招聘作专家,这是我们对这些目标承诺的标志。Solaris不是我们外包给人的东西,它不是某个第三方技术的组装,也不是仅供的产品。我们期望业内顶尖的作工程师,即你们所有人,都能创造并交付创新,继续使Solaris一无二、有区别性,并对我们的客户及我们的业务产生价值。Solarismuststandaloneasaest-of-reedtechnologyforOracle’senterprisecustomers.Wewantallofthemtothink“Ifthishastowork,thenitrunsonSolaris.”That’stheSolarisrand.ThatiswhereoscalailitytomorethanafewsocketsofCPUandgigaytesofDRAMmatters.ThatiswhywerelialydelivermillionsofIOPSofstorage,networking,andInfiniand.Thatiswhyweheuniquepropertiesaroundfileanddatamanagement,secityandnamespaceisolation,faultmanagement,andoservaility.AndwealsowantocustomerstoknowthatSolarisisandcontinuestoeasoceofnewideasandnewtechnologies–onesthatsimplifytheirusinessandoptimizetheirapplications.That’swhatmadeSolaris10themostinnovativeoperatingreleaseever.AndthatisthesamefocusthatwilldriveanewsetofinnovationsinSolaris11.Solaris必须作为Oracle企业级客户的最佳作而存在。我们希望所有人都认为“如果要运行话,它就应该运行在Solaris上。”这就是Solaris品牌。这就是可扩展性重要的地方,不仅仅是几个CPU插槽和几个G的DRAM。这就是为什么我们可地交付数百万IOPS的存储、网络和Infiniand。这就是为什么我们在文件和数据、安全和命名空间隔离、故障和可观测性方面具有特属性。我们还希望我们的客户知道,Solaris将继续是新想法和新技术的来源——这些技术简化了他们的业务并优化了他们的应用程序。这就是为什么Solaris10是有史以来最具创新性的作发布。同样的关注点将推动Solaris11中一系列新的创新。ForSolaristostandaloneastheest-of-reedoperatinginOracle’scompleteandopenportfolio,itmustrunwellonotherserverhardwareandexecuteeveryone’sapplications,whiledeliveringuniqueoptimizationsforohardwareandoapplications.ThatisthecentralvaluepropositionofOracle’scomplete,open,andintegratedstrategy.Andthesearecomplementaryandnotcontradictorygoalsthatwewillachievethroughproperdesignandengineering.为了使Solaris成为Oracle完整和开放组合中最佳的作,它必须在硬件上运行良好,并且执行每个应用程序,同时为我们的硬件和我们的应用程序提供特的优化。这是Oracle完整、开放和集成策略的核心价值主张。这些是互补而非矛盾的目标,我们将通过适当的设计和工程实现这些目标。ThegrowthopportunityforSolarishasnevereengreater.Asoneexample,Solarisisusedyaout40%ofOracle’senterprisecustomers,whichmeanswehea60%growthopportunityinotopcustomersalone.Inasolutenumers,thereare130,000OraclecustomersinNorthAmericaalonewhodon’tuseoserversandstorageyet,andagloalcustomeraseof350,000(thepriorSunasewas~35,000).That’sahugeopportunitywecangoattackasacominedcompanythatwillincreaseSolarisadoptionandtheoverallHardwareserverrevenue.OsuccesswillalsoincreasetheamountofeffortVsexertoptimizingtheirapplicationsforSolaris.Solaris的增长机会从未如此之大。例如,约有40%的Oracle企业客户使用Solaris,这意味着我们仅在客户中就有60%的增长机会。就绝对数字而言,仅在北美就有130,000个Oracle客户尚未使用我们的和存储,全球客户基础为350,000(之前的Sun基础约为35,000)。作为一个合并后的公司,这是一个我们可以攻克的巨大机会,它将增加Solaris的采用率和整体硬件收入。我们的成功还将增加V为Solaris优化其应用程序所做的努力。WewillcontinuetogrowirantdeveloperandistratorcommunityforSolaris.Deliveryofinaryreleases,deliveryofAPIsinsoceorinaryform,deliveryofopensocecode,deliveryoftechnicaldocumentation,andengineeringofupstreamcontriutionstocommonindustrytechnologies(suchasApache,Perl,OFED,andmany,manyothers)willepartofthatactivity.utwewillalsomakespecificdecisionsaoutwhyandwhenwedothosethings,followingtwocoreprinciples:(1)Wecan’tdoeverything.Thelimitingfactorisoengineeringandwidthmeasedinpeopleandtime.Sowehetoenseotoppriorityisdrivingdeliveryofthe#1EnterpriseOperatingSystem,Solaris11,togrowosusiness;and(2)Wewanttheadoptionofotechnologyandinlectualpropertytoaccelerateooverallgoals,yetnotpermitcompestoderiveusinessadvantage(orFUD)fromoinnovationseforewedo.我们将继续培养一个充满活力的开发者和员社区。交付二进制版本,以源代码或二进制形式交付API,交付开源代码,交付技术文档,以及为常见行业技术(如Apache、Perl、OFED等)进行上游贡献,将是该活动的一部分。但我们还将做出具体决策,说明我们何时以及为何进行这些事情,遵循两个核心原则:(1)我们不能做所有事情。因素是我们的工程带宽,以人和时间衡量。因此,我们必须确保我们的首要任务是推动#1企业作Solaris11的交付,以增长我们的业务;(2)我们希望我们的技术和知识产权的采用能加速实现整体目标,而不是允许竞争对手在我们之前从我们的创新中获得商业优势(或不确定性、恐惧和怀疑)。WeareusingoinvestmentincoreSolarisinnovationandengineeringtodrivemultipleusinesses,throughmultipleproductlines.ThisalreadyincludesoSolarisoperatingforEnterprise,andoZFSStorageproductline,andwillsoonincludeotherOracleproducts.Thisstrategyisallaoutcreatingmorevaluefromasetofcommonsoftwareinvestments:itmakeseverythingyoudomorevalualeandusedymorepeopleworldwide.Italsomeansyouasanindividualengineerormanagerheanevengreaterresponsiilitytounderstandtheroaderusinessandtechnicalcontextsinwhichyoengineeringisdeployed.我们正在利用我们在核心Solaris创新和工程方面的投资来推动多个业务,通过多个产品线。这已经包括了我们的企业级作Solaris和我们的ZFS存储产品线,并将很快包括Oracle产品。这个策略完全是关于从一组共同的软件投资中创造更多价值:它使你们所做的一切更有价值,被全球更多人使用。这也意味着,作为一个工程师或经理,你有更大的责任去了解你的工程部署所在的更广泛的商业和技术背景。<>SolarisDecisions/Solaris决策WewillcontinuetousetheCDDLlnsestatementinnearlyallSolarissocecodefiles.WewillnotremovetheCDDLfromanyfilesinSolaristowhichitalreadyapplies,andnewsocecodefilesthatarecreatedwillfollowthecrentpolicyregardingapplyingtheCDDL(simply,thatusr/srcfileswillhetheCDDL,andtheveryallminorityoffilesinusr/closedmightnotheit).Useofotheropenlnsesinnon-ONconsolidations(e.g.GPLintheDesktoparea)willalsocontinue.Asefore,requeststochangethelnseassociatedwithsocecodearecase-y-casedecisions.我们将继续在几乎所有Solaris源代码文件中使用CDDL许可声明。我们不会从任何已适用CDDL的Solaris文件中移除CDDL,新创建的源代码文件将遵循当前关于应用CDDL的政策(简单来说,usr/src文件将采用CDDL,而在usr/closed中的极少数文件可能不会采用)。在非ON聚合中继续使用开放许可证(例如,在桌面区域使用GPL)也将持续。和以前一样,更改与源代码相关联的许可证的请求将逐案决定。WewilldistriuteupdatestoapprovedCDDLorotheropensoce-lnsedcodefollowingfullreleasesofoenterpriseSolarisoperating.Inthismanner,newtechnologyinnovationswillshowupinoreleaseseforeanywhereelse.WewillnolongerdistriutesocecodefortheentiretyoftheSolarisoperatinginreal-timewhileitisdeveloped,onanightlyasis.我们将在完整发布我们的企业级Solaris作后,分发获批准的CDDL或开源许可的代码更新。通过这种方式,新的技术创新将首先在我们的发布版本中出现。我们将不再实时地分发整个Solaris作的源代码,例如每晚的构建。AnyonewhoisconsumingSolariscodeusingtheCDDL,whetherinpiecesorasapartoftheOpenSolarissocedistriutionoraderivativethereof,wouldthereforeealetoconsumeanyupdateswereleaseatthattime,underthetermsoftheCDDL,LGPL,orwhateverlnseapplies.任何使用CDDL(无论是片段还是作为OpenSolaris源代码分发或其衍生产品的一部分)消费Solaris代码的用户,将能够在我们发布更新时,根据CDDL、LGPL或适用的任何许可证的条款,使用这些更新。Wewillheatechnologypartnerprogramtopermitoindustrypartnersfullaccesstothein-developmentSolarissocecodethroughtheOracleTechnologyNetwork(OTN).Thiswillincludeothearlyaccesstocodeandinaries,aswellascontriutionstouswherethatisappropriate.Allsuchpartnershipswilleevaluatedonacase-y-caseasis,utcertainlyocore,existingtechnologypartnerships,suchastheonewithIn,areexamplesofvaluedparticipation.我们将设立一个技术合作伙伴计划,通过Oracle技术网络(OTN),允许我们的行业合作伙伴全面访问正在开发中的Solaris源代码。这将包括对代码和二进制文件的早期访问,以及在适当的情况下对我们的贡献。所有此类合作伙伴关系将根据具体情况进行评估,但我们的核心现有技术合作伙伴关系,例如与In的合作,是受重视的参与示例。WewillencoageandlistentoanyandalllnserequestsforSolaristechnology,eitherinpartorinwhole.Allsuchrequestswilleevaluatedonacase-y-caseasis,utweelievetherearemanycomplementaryareaswherenewpartnershipopportunitiesexisttoexpanduseofoIP.我们将鼓励并倾听对Solaris技术的所有许可请求,无论是部分还是全部。所有此类请求将根据具体情况进行评估,但我们相信存在许多互补领域,新的合作机会可以扩大我们的知识产权使用。Wewillcontinueactiveopendevelopment,includingupstreamcontriutions,inspecificareasthataccelerateooverallSolarisgoals.ExamplesincludeoactivitiesaroundGnomeandX11,IPSpackaging,andoworktooptimizeecoslikeApache,OpenSSL,andPerlonSolaris.我们将继续在特定加速我们整体Solaris目标的领域中进行积极的开放式开发,包括上游贡献。示例包括我们围绕Gnome和X11、IPS打包的活动,以及我们在Solaris上优化Apache、OpenSSL和Perl生态的工作。Wewilldelivertechnicaldesignrmation,intheformofdocumentation,designdocuments,andsocecodedescriptions,throughoOTNpresenceforSolaris.WewillnolongerpostadvancetechnicaldescriptionsofeverysingleARCcaseydefault,indicatingwhattechnicalinnovationsmightepresentinfuteSolarisreleases.Wecanatanytimemakeaspecificdecisiontopostadvancetechnicalrmationforanyproject,whenitservesaparticularusefulneedtodoso.我们将通过我们的OTNSolaris存在形式,提供技术设计信息,包括文档、设计文件和源代码描述。我们将不再默认发布每个ARC案例的预先技术描述,表明未来Solaris发布可能包含哪些技术创新。当它服务于特定有用需求时,我们可以随时做出发布任何项目的预先技术信息的特定决定。WewillheaSolaris11inarydistriution,calledSolaris11Express,thatwillheafreedeveloperRTUlnse,andanoptionalsupportplan.Solaris11Expresswilldeutytheendofthiscalendaryear,andwewillissueupdatestoit,leadingtothefullreleaseofSolaris11in2011.我们将有一个名为Solaris11Express的Solaris11二进制分发版本,它将有一个免费的开发者RTU许可证和一个可选的支持计划。Solaris11Express将在今年年底前首次亮相,我们将对其进行更新,直至2011年Solaris11的完整发布。AllofOracle’seffortsoninarydistriutionsofSolaristechnologywillefocusedonSolaris11.Wewillnotreleaseanyotherinarydistriutions,suchasnightlyori-weeklyuildsofSolarisinaries,oranOpenSolaris2010.05orlaterdistriution.Wewilldeterminea,cost-effectivemeansofgettingenterpriseusersofpriorOpenSolarisinaryreleasestomigratetoS11Express.Oracle在Solaris技术的二进制分发方面的所有努力将集中在Solaris11上。我们将不会发布任何二进制分发版本,如Solaris二进制的每或双周构建,或OpenSolaris2010.05或更新版本的分发。我们将确定一种简单、经济有效的方式,使之前OpenSolaris二进制版本的企业用户迁移到S11Express。WewillheaSolaris11PlatinumCustomerProgram,includingdirectengineeringinvolvementandfeedack,forcustomersusingoSolaris11technology.Wewilleaskingallofyoutoparticipateinthisendeor,ringingwithustheenefitofpreviousSunPlatinumprograms,whileutilizingthemuchlargermegaphonethatisailaletousnowasacominedcompany.我们将设立一个名为Solaris11Platinum的客户计划,包括直接的工程参与和反馈,针对使用我们Solaris11技术的客户。我们将邀请你们所有人参与这一努力,借助以前SunPlatinum计划的优势,同时利用我们作为合并公司现在可用的更大的宣传渠道。Welookforwardtoeveryone’scontinuedworkonSolaris11.OgoalissimplytomakeittheestandmostimportantreleaseofSolarisever.我们期待每个人在Solaris11上持续工作。我们的目标很简单,就是使其成为有史以来最好、最重要的Solaris发布版本。

Oracle对SPARC、Solaris的热情持续几年后,终于在2017年散去了。在这一年,SPARC迎来了最后一次发布;而Solaris随后在2018年迎来了最后一个小版本。2019年开始,Oracle又开始频繁折腾Sun硕果仅存的最后一笔遗产Ja。从历史的角度看,Oracle折腾MySQL是一个必然事件,这也是Monty最担心的事情。不过出乎意料的是,虽然Oracle的投入虽然远远没有达到令Monty满意的程度,但是后继的版本都正常发布了,而且功能、性能还得到了持续完:

    2010.12,Oracle发布了MySQL5.5。2013.2,Oracle发布了MySQL5.6。2015.10,Oracle发布了MySQL5.7。2018.4,Oracle发布了MySQL8.0。2023.7,Oracle发布了MySQL8.1。

对于OracleSun之后发布的MySQL版本,Monty都以近乎苛刻的眼光在审视,并在拉踩中为MariaD打广告。但是实际上,Oracle对MySQL的改进有目共睹,一定程度上打消了用户的疑虑。在MySQL5.5发布后,Monty如此评价到:

IfirsthetoacknowledgethatIhenoteenaletofollowtheMySQL5.5developmentascloselyasIwouldhewanteddingthelast2yearsasmostoftheplanningofMySQL6.0,5.4and5.5hashappenedehindcloseddoors,withoutinsightforthecommunity.Thecommitsheeenopen,untilrecently,utit'snoteasytofollowwhatishappeningjustasedonthecommits.IamsethatIammissingelowsomeoftheimportantfeatesin5.5andforgettingtoacknowledgesomeofthepeoplethathedonegreatworkon5.5.首先,我必须承认,由于在过去的两年中,MySQL6.0、5.4和5.5的大部分规划都是在闭门进行的,没有社区的洞察,我无法像我希望的那样密切关注MySQL5.5的发展。虽然到最近为止,提交记录一直是开放的,但仅仅通过查看提交记录来了解正在发生的事情并不容易。我确信我在下面遗漏了一些5.5版本中的重要功能,并忘记了感谢那些在5.5版本上做出了杰出工作的人们。…………It'snowalmostexactly2yearssincetheMySQL5.1GArelease,sowhat'stheverdictof5.5?现在已经距离MySQL5.1GA发布几乎整整两年了,那么对于5.5版本的结论是什么呢?ThetwothingsthatimpressmearetheworkontheInnoDstorageengineandtheDLLlocking.Mostoftheothernewfeatesareminor(technically)adjustmentseveniftheresults,likewiththewindowsspeedimprovement,caneimpressive.AsatechnicalpersonIheahardtimegettingimpressedysomethingthatcouldedoneinafewhosandcouldeasilyheeendonein5.1.InnoD存储引擎和DLL锁的改进让我印象深刻。尽管像Windows上的速度提升这样的结果很棒,但大多数新功能都是小的(技术上的)调整。作为一个技术人员,我认为这都是些几小时内就能完成的事情,而且本可以在5.1版本中轻松实现,所以没有让我感到惊喜。Whatisworryingmethemostisthethingsthatarenotin5.5.SomeifthethingsthatweresupposedtoeinthenextMySQLreleaseare:Poolofthreads(insteadofonethreadperconnectionlikeitisinMySQL5.1).AsfarasIknow,thisfeatehaseenmovedtoappearin5.6enterpriseandwillnotepartofthecommunityserver.Anopensoce,freeackuputilityandackupAPIthatwouldworkforallstorageengines.ThishasproalyeenthemostawaitedfeateofMySQLever!ThisprojectwasdiscontinuedyOraclethesamedaythefeatewasdeemedreadytoepushedinto5.5.In5.5someinternalsus,likesafemalloc,aportalememorychecker,wereremoved.最让我担忧的是MySQL5.5中缺失的那些功能。一些原本应该包含在下一个MySQL版本中的功能包括:线程池(而不是像MySQL5.1那样每个连接一个线程)。据我所知,这个功能已被移到5.6企业版中,并不会包含在社区版本中。一个开源的、免费的备份工具和备份API,适用于所有存储引擎。这可能是MySQL有史以来最受期待的功能!这个项目在功能被认为准备好加入到5.5版本的同一天被Oracle停止了。在5.5版本中,一些内部子,如safemalloc(一个可移植的内存检查器),也被移除了。AnotherworryIheishowlongOraclewillealetocontinuedevelopmentofMySQLwhileimportantcoredeveloperscontinuetolee.Oftheaove,KonstantinOsipovandVladislVaintrouhealreadyleftOracleandtherearenotmanyold-timersleft.我还担心的另一个问题是,在重要的核心开发者继续离开的情况下,Oracle能够持续开发MySQL多长时间。在上面提到的人中,KonstantinOsipov和VladislVaintrou已经离开了甲骨文,剩下的老员工不多了。…………Theprolemisthatit'sveryhardtoevaluatehowstale5.5reallyisasthat5.5hasnoteenedythepulicenoughandsomeoftheugsinthepulicug,likethecriticalug#33082,can'teaccessed.Theugdataaseshows294openugsforMySQL5.1and150forMySQL5.5.Ihen'thoweverhadtimetoevaluateallpulicugs,soIdon'tknowhowseveretheyreallyare.AlotdependsalsohowmanyugswillefileddingthenextfewweeksaftertheGArelease.问题在于,很难评估5.5版本的稳定性究竟如何,因为5.5版本还没有被大家充分过,而且公开的ug中的某些ug信息无法被访问,如致命的#33082。ug显示MySQL5.1有294个未解决的ug,而MySQL5.5有150个。然而我还没有时间评估所有公开的ug,所以我不知道它们的严重程度如何。稳定性还取决于GA版本发布后,被提交上来的ug数量。

在MySQL8.0发布之后,Monty的拉踩趋势就愈发严重了,一顿猛批之后就会拿MariaD出来较:

Inmanyways,MySQL8.0hascaughtupwithsomeearlierversionsofMariaD.Forinstance,inMariaD10.0,weintroducedroles(foyearsago).InMariaD10.1,weintroducedencryptedredo/undologs(threeyearsago).InMariaD10.2,weintroducedwindowfunctionsandCTEs(ayearago).However,somecatch-upofMariaD10.2featesstillremainsforMySQL(suchascheckconstraints,inlogcompression,andlog-asedrollack).在许多方面,MySQL8.0已经赶上了MariaD的一些早期版本。例如,在四年前的MariaD10.0中,我们引入了角色(roles)。在三年前的MariaD10.1中,我们引入了加密的Redo志和Undo志(encryptedredo/undologs)。一年前的MariaD10.2中,我们引入了窗口函数和公用表表达式(CTEs)。然而,MySQL仍需追赶MariaD10.2的一些功能,如检查约束(checkconstraints)、inlog志压缩(inlogcompression)和基于志的回(log-asedrollack)。…………Ontheroadmapside,MySQLiscarefullysteeringclearoffeatesthatclosethegapetweenMySQLandOracle.MariaDhasnosuchconstraints.WithMariaD10.3,weareintroducingPL/SQLcompatiility(Oracle’sstoredprocedes)andASOF(uilt-inversionedtaleswithpoint-in-timequerying).Forothofthosefeates,MariaDisthefirstOpenSocedataasedoingso.Idon'texceptOracletoprovideanyoftheaovefeatesinMySQL!在Roadmap方面,MySQL在小心避免引入那些能够缩小MySQL与Oracle差距的功能。MariaD则没有这样的。在MariaD10.3中,我们引入了PL/SQL兼容性(Oracle的存储过程)和ASOF(带有按时间点查询功能的内置版本表)。MariaD是第一个实现这两个功能的开源数据库。我不认为Oracle会在MySQL中提供上述功能!Alsoontheroadmapside,MySQLisnotworkingwiththeecoinextendingthefunctionality.In2017,MariaDacceptedmorecodecontriutionsinoneyear,thanMySQLhasdonedingitsentirelifetime,andtherateisincreasing!同样在Roadmap方面,MySQL并没有与生态合作拓展功能。在2017年,MariaD一年之内接受的代码贡献量,MySQL在其整个生命周期中接受的还要多,而且差距还在拉大!IamsethattheexperienceIhadwithingMySQL8.0wouldheeensignificantlyetterifMySQLwouldheanopendevelopmentmodelwherethecommunitycouldeasilyparticipateindevelopingandingMySQLcontinuously.MostoftheconfusingerrormessagesandstrangeehiorwouldheeenfoundandfixedlongeforetheGArelease.我相信,如果MySQL采用一个开放的开发模式,让社区能够轻松参与到MySQL的持续开发和中,我在MySQL8.0的体验会显著改。大多数让人困惑的错误信息和奇怪行为都会在GA前被发现并修复。…………MySQL8.0seamstoeaonewaystreettoanunknownfute.UptoMySQL5.7ithaseentrivialtomovetoMariaDandonecouldalwaysmoveacktoMySQLwithmysqldump.AllMySQLclientlirarieshasworkedwithMariaDandallMariaDclientlirarieshasworkedwithMySQL.WithMySQL8.0thishaschangedinthewrongdirection.MySQL8.0似乎是一条通向未知未来的单行道。在MySQL5.7及之前版本,迁移到MariaD是很简单的事情,而且可以随时通过mysqldump返回到MySQL。所有MySQL客户端库都能与MariaD兼容,所有MariaD客户端库也都能与MySQL兼容。但是到了MySQL8.0,情况往不好的方向发展了。AslongasyouareusingMySQL5.7andelowyouhechosforyofute,afterMySQL8.0youheverylittlecho.utdon'tdespair,asMariaDwillalwaysealetoloadamysqldumpfileandit'sveryeasytoupgradeyooldMySQLinstallationtoMariaD:)只要你使用的是MySQL5.7或更低版本,你对未来还有选择权,但在MySQL8.0之后,你的选择就非常有限了。但不要绝望,因为MariaD总是能够加载mysqldump文件,并且将你的旧MySQL安装升级到MariaD也非常简单:)

从实际发生的情况看,Oracle对MySQL采取了完全不一样的策略,既没有修改MySQL的开源协议,也没有强迫客户转向更加封闭的商业版本。相反,Oracle在MySQL上面投入的资源有点让人吃惊。根据内部员工的爆料,尽管MySQL为Oracle带来的营收可以忽略不计,但是董事会要人给人、要钱给钱。这是为什么?

这个问题如果从数据库角度看,并不容易得出答案,因为Oracle自始自终的定位就不仅仅是一个数据库厂商,而是一个企业级软硬件解决方案商。在2010年之前,Oracle的主要竞争对手是IM、SAP、Saleorce以及Microsoft,竞争的领域主要集中在硬件、CRM和ERP方面;在2010年之后,随着云计算和SaaS服务的兴起,Oracle和传竞争对手们都发现AWS才是最大的威胁。无论是Oracle还是Microsoft,都为自家产品在AWS上面的部署设置了歧视性定价规则,但都没有阻碍AWS抢夺市场的脚步。反而,AWS充分利用了开源生态的开放性大赚特赚,前有RDS收割开源红利,后有Aora变现高端客群。因此Oracle拿着的MySQL实属烫手山芋,用力做会让竞争对手收割,而不用力做则会流失户。

AWS后来创建了OpenSearch(针对Elastiearch),并赞助了Valkey(针对Redis),这也坐实了Oracle的顾虑。如果Oracle修改了MySQL的Lnse,AWS很可能会拉着社区创建一个新的MySQL分支,然后尝试用这个分支聚拢存量用户群体。无论是Monty的MariaD还是Peter的Percona,想必都会乐见其成。那么究竟该如何处置MySQL这个烫手山芋,才能尽可能避免被AWS收割?Oracle做了如下几个举动:

    从2011年起,将更多功能以闭源插件的方式放到MySQL企业版里。从2012年起,不再开源新的用例,并且隐了代码的修改记录。从2022年起,在包括AWS在内的云平台上推出MySQLHeatwe托管服务。

虽然Oracle已经把能做的事情都做了,但是它依旧没有完成从AWSRDS的营收里面分杯羹的最终目标。实际上,几乎没有数据库厂商能够直接从AWS的托管服务里面分到钱,它们只能通过差异化的功能或者服务登陆Marketplace,被AWS二次收割。MongoD可能是仅有的一家,能够保证研发投入被高效货币化的开源数据库厂商。而PostgreSQL虽然流行,但是背后的大金主EnterpriseD主要语法兼容性在吃存量Oracle市场;而SQLite作为漂亮的半成品,目前还看不到太多商业化的可能性。

MariaD已经走向终局?

在“云计算”这个庞然大物面前,开源世界的理念已经摇摇欲坠,就连以“竭泽而渔”闻名的Oracle都拿插管吸血的AWS没什么办法。作为一个开源老司机,Monty将常年对抗Oracle的经验,化为了抵御AWS插管的手段。首先,Monty将MariaD的知识产权全部托管给了MariaDFoundation,跟MariaDCorporation做了分割,这样就能保证商业成败不影响自己对项目的控制力。其次,Monty推出了usinessSoceLnse来平衡商业利益与开源追求。这个协议的设计非常巧妙,又当又立挑不出毛病。

MariaD存量市场的压力来自Oracle对MySQL的持续投资。普通用户并没有被Monty蛊惑,仍然在使用Oracle提供的MySQL,而不是转向Monty的MariaD。因为缺少自来水的大量反馈,MariaD的成熟度没办法以较低的成本进行提升,在工程上失去了超越MySQL的可能。而MariaD增量市场又被AWSRDS的MySQL版本堵得死死的。MariaD落西山似乎已成定局,一般人到这就该放弃了,但是对于拥有“DDOS欧盟”成就的Monty来说,力挽狂澜只是生活中的基本作。Monty的解法虽然不见得多有用,但是挺有趣:

    开源项目方面,MariaD的流行度不如MySQL,正在失去话语权

<>任何一款流行的数据库背后都有一个崛起的编程语言。相对于PostgreSQL的进程模型,MySQL的线程模型更适合没有连接池的PHP程序,因此自然而然地承接了LAMP架构带来的泼天富贵,成为了诸多Linux发行版的默认数据库。MariaD背后并没有一个新的编程语言,但这不妨碍Monty四处宣传Oracle的“”,并成功说服了Fedora、openSUSE、RedHatEnterpriseLinux、CentOS将默认的数据库从MySQL改成了MariaD,截胡了部份流量。

    商业变现方面,MariaD依私有化部署盈利,而客户在逐渐转向公有云服务

AWS虽然推出了RDSforMySQL服务,但是没有提供带有负载均衡的读写分离能力。阿里云提供了这样的能力,但是做不到非常好的读写一致性。<>差异性永远是最重要合作基础。而MariaD的Proxy刚好能够补全公有云厂商的产品能力。Monty很敏锐地抓住了这个机会,跟AWS和阿里云分别签署了联合开发的合同,顺利从RDS收入里面分了一杯羹。

    资本方面,MariaD并不是资本市场看好的类型,账面现金并不充裕

MariaD跟阿里云的合作引来了新投资人的关注。阿里背景的投资机构不仅仅为MariaD注入了更多的资本,还为MariaD的股东找到了合适的退出通道。2022年底,通过与AngelPondHoldingsCorporation的合并作,MariaD登陆纽交所实现了IPO。不过上市之后,MariaD的估值一跌再跌就是另外回事了。毕竟,<>资本再多也改变不了业务属性。

最近不断有消息爆出,MariaD的高管不断离职,而核心研发团队也摇摇欲坠。为了挽救MariaD,Monty不仅仅想方设法为公司举债,甚至投入了自己的私有资金。不过目前看来,Monty的努力并没有起到什么作用,MariaD还在朝着更坏的结局走去。也许MariaD之后就是Percona,从此世界上只有Oracle的MySQL一江湖?让我们拭目以待。

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码