我们到目前为止

这可能比Safari浏览器更令人兴奋:Web浏览器:WebCore,Apple的KHTML库的Mac OS X框架包装器与JavaScriptCore(KJS库的框架包装器)一起,这两个包构成了Safari的内部内容。

KHTML和KJS根据LGPL获得许可,LGPL现在正式代表“通用公共许可证“,但最初代表的是”图书馆通用公共许可证“。

GNU首席呸呸Richard Stallman简洁地描述了LGPL和常规GPL之间的区别

The choice of license makes a big difference: using the Library GPL permits use of the library in proprietary programs; using the ordinary GPL for a library makes it available only for free programs.

换句话说,作为开发人员,您可以在一个本身不是LGPL许可的应用程序中使用LGPL许可的代码库(例如,KHTML)如果您(开发人员)对库进行了更改或改进,则需要使用相同的许可证发布它们,但您可以根据需要随意许可其余的应用程序。

但是,对于使用GPL许可的库,开发人员只能在他们的整个应用程序中使用GPL许可证时才能使用它们因此,贬义的“病毒”通常应用于GPL。

你可以阅读其余部分Stallman的“为什么你不应该使用图书馆GPL为你的下一个图书馆”文章看看为什么他不喜欢LGPL,但总结一下,它让Stallman看到了从免费图书馆中受益的非免费应用程序。

但是Stallman生活在一个奇异的世界里,质量应用软件从志愿者的指尖神奇地出现In the real world, quality software comes from talented engineers, and talented engineers want to get paid. Apple put together a crackerjack team of developers for the Safari team一些Safari工程师花了几个月的时间来改进KHTML来自世界上一些最好的开发商的工时数月和数月。KHTML受益匪浅从这种与苹果公司的关系 - 但如果它已经在GPL下获得许可,它就不会得到一点。

什么是然而,对于独立的Mac开发人员来说,对WebCore来说很酷WebCore不仅仅是为了满足使用LGPL软件的法律义务它使用API​​进行重新打包和封装,旨在使其他开发人员更容易在自己的应用程序中使用它。

例如,Omni集团正在考虑使用WebCore作为OmniWeb 5的渲染引擎Omni Group首席执行官Ken Case写道:

这意味着我们可以比单独工作时更快地达到OmniWeb的兼容性和速度目标,然后将重点放在做我们最擅长的事情上:提供丰富的浏览体验谢谢你,Apple!

但是,WebCore不仅对Web浏览器开发人员有用有各种各样的应用程序可以使用快速,小巧,符合标准的HTML渲染器布伦特西蒙斯已经表示他正在调查在NetNewsWire中使用WebCore电邮客户是非浏览器的另一个例子,可以充分利用WebCore。

不要忘记Web开发工具。Macromedia最近宣布与Opera达成协议这允许Macromedia软件包含Opera引擎的内置版本当然,Opera是一家商业软件公司,大多数小型Mac开发人员都没有像Macromedia这样的公司的财务资源。

Windows开发人员长期以来一直能够利用一个良好的系统级HTML呈现库 - Windows上的IE HTML呈现器相对容易包含在任何应用程序中Of course, certain aspects of the IE situation on Windows led to a nasty little legal squabble, but providing a public API to the IE rendering engine wasn’t the problem — squashing the ability of other browsers (namely Netscape) to compete fairly against IE was the problem.

有关在Windows上充分利用IE API的应用程序示例,请查看一些NewzCrawler的截图,一个与Ranchero的NetNewsWire相似的联合新闻阅读器。

缺乏一个像样的系统级HTML渲染引擎一直是Mac开发人员的一个漏洞WebCore看起来可能只是填补它。

以前: 100%棉
下一个: Nottke