NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

针对许可证、OSGi、以及 SpringSource 应用平台技术现状的反应

  • 2008-05-26
  • 本文字数:2571 字

    阅读完需:约 8 分钟

两周前 InfoQ率先报道了SpringSource 应用平台beta 版的发布。我们的报道引发了剧烈的讨论,在 The Server Side 上的报道同样也引发了众多讨论。在过去的两周里,开发者及业界权威的评论焦点集中在两个方面:许可证 / 一般战略以及 OSGi/ 技术的实现。

许可证及一般策略

在如此之多的评论中,人们既可以找到赞同的声音也可以找到反对的意见。Impala 项目(该项目提出了一个类似于 Spring-DM 的解决方案,采用的是 Apache License 2.0 许可证)的 Phil Zoio 在博文中这样写道

……本质上是 Spring OSGi 的强大集成。我已经表明了我的关切:与应用服务器厂商相比,普通开发者能在多大程度上接受 OSGi。一直以来,总是有人说服我说:普通的 Java 开发者都将对 OSGi 特质表现出极大的热情……有一个许可证的问题。第一次,SpringSource 推出的主要产品使用了非 Apache V2.0 的许可,取而代之,其使用了 GPL 许可证。这种主要变化反映了该公司对自己在市场定位方面的改变……最终,在我脑海中盘旋的一个问题是 Spring 框架本身如何适应这种变化。我一直认为 Spring 框架是出自 Rod Johnson 的旗舰产品……但是对于 Spring 应用框架,他们下了重注……

相反,Per Olesen 看上去对这一产品和许可证表现出极大的热情

……我已经把 spring 框架作为我使用的主要引擎,而且在 POJO ORM 道路上走了很长时间了。远早于 JEE5 和 JPA。而且我喜欢这种方式。在新产品上,我甚至放弃了 JEE5 EJB,因为我发现在许多方面 spring 模型更胜一筹。至于说它正在走向非公开化,这个平台使用的是 GPLv3 许可,我很喜欢。在我眼里,GPL 许可正好适合这类产品。它既确保了开放性,又能被他人所利用……

IBM 的 Billy Newport 从应用服务器厂商的视角提出一些意见:

……这看起来像是我和他人准备在下几年计划 / 希望要做的事情。我们大都在寻找一个具有商业友好许可的(EPL、BSD 或 Apache)基于 OSGi 的分布式平台……总之,我不认为这个平台有价值。我认为它是件商品而已。我认为 profile 和监控 profile 是有价值的东西,我更愿意看到一个具有商业友好许可的 OSGi 分布式运行环境,将它作为厂商构建中间件 /profile 的新的 JVM。假如 Spring DM 是 Apache 许可的,我就会认为在 Spring 服务器上所作的额外工作是纯净的,很快就可于以 EPL 或 Apache 许可证使用,而这将会限制出售 SpringSource 服务器的价值……我并不想贬低 SpringSource 所做的一切,它确实很好也是必须的,但是假定它的大部分组件是 Apache2.0 或 EPL 的许可,那么最终的隔阂比构建一个 Java EE 或 BPEL 流程引擎要简单的多,就这些。

IBM 的 Jerry Cuomo也作出了评论

……InfoQ 上的一篇文章带来了这则消息之后,我的收件箱里就充满了邮件。标题行这样写道——“SpringSource 向 WebSphere 宣战”。真的吗?我不这么认为。我是一个 Spring 迷,我认为 OSGi 基础和 Spring 框架这样的技术是基于 Java 应用服务的未来形式。适用于所有服务器的那种放之四海而皆准的方式已经逐步进化为针对特定类型工作负载构建专门的服务器……现在,我觉得 SpringSource 变质并在 GPL 许可下做这件事是可耻的。业界将从 Apache 许可的“参考”应用平台中获益……因此,进化为合适大小、能满足多种个性需求的平台的趋势并不会引发混乱,更不是 SpringSource 和 WebSphere 之间的一场决战——这只是业界进化的方式——或许 Java 社区可以像以前那样齐心协力,制造公平的竞争机会。我们的客户十分赞赏这一点……

最终,Marc Fleury(JBoss 创始人)的深思对众多的反应进行了总结:

事实是,我有点关心但是又不太关心。在我看来这是风险投资驱使的结果。作为一个开发框架,Spring 是一个天生的顾问,但是他们在运转过程中一直与他们的销售不断奋斗。瞧,我们现在有一个画在 OSGi 核心周围的方框……最后,我不知道这会对它与其它应用服务器的关系产生怎样的影响。他们不再中立……大伙瞧瞧,应用服务器大战曾经打响并在 2005 年结束了。现在是 2008 年了,到处都是 POJO 编程,EE 编程模型被淡化了。

OSGi 和技术现状

在对所期待的战略进行说明的同时,SpringSource 应用平台宣布也对来自众多活跃在 OSGi 社区的开发者进行了回应。 Neil Bartlett 给出了许多积极的评价,包括:OSGi 的常规使用、已宣布的 bundle 库、以及 SAP 解决了在哪里启动 OSGi 的问题。可是,他也关注新的 bundle header:

……现在,这儿有些让我紧张的事情……有两个新的 bundle headers:Import-Bundle 和 Import-Library。在我看来,Import-Bundle 与 Require-Bundle 存在同样的问题。这一新的 header 只是提供了间接引用(例如,你提供一个逻辑 bundle 名,而不是真实的 Bundle- 符号名——Bundle-SymbolicName)。这并没有修正关于绑定到一套 package 周围的 wrapper 上而不是 package 本身这个问题。Import-Library 看起来更糟,它会在整套 bundle 上立即执行 Import-Bundle!……

Peter Kriens 有着类似的想法:

……总而言之,bundle 仓库非常好。……这个 bundle 仓库必须要做一个艰难的工作。名誉!……然而,SpringSource 应用平台是一种冲击。从文档中,我发现了很多感觉像是 OSGi 的 headers,但是我并不承认,包括:Import-Library、Import-Bundle、应用等等。看起来 SpringSource 已经全面“改良”了 OSGi……

SpringSource 团队也发表了几篇博文,详细描述了应用程序平台的不同方面:

使用 SpringSource 应用平台在 OSGi 上运行 Spring 应用

  • 装载时编织(Load Time Weaving)
  • Classpath 扫描
  • 线程上下文类装载器管理

SpringSource 应用平台开发选项

  • 原始(Raw)OSGi Bundles
  • Java EE WAR
  • Web 模块(Modules)
  • 平台存到文件 (PAR)

SpringSource 应用平台 Manifest Headers

  • Import-Bundle
  • Import-Library

使用 SpringSource 应用平台的供应库(provisioning repository)

  • 运行时供应(Runtime provisioning)
  • 给供应库中增加项目
  • 在不同安装之间共享供应库

SpringSource 应用程序框架的一个主要好处是,它有按需供应依赖能力。这个好处有两方面作用:它确保了平台内存占用尽量小;不需要把所有依赖都封装到一个部署个体中(例如,一个 WAR 文件)就可以部署。为了利用这些能力,你将需要理解平台的供应库和本博文将要提供的信息……

查看英文原文: Reactions to Licensing, OSGi, and Technical Aspects of the SpringSource Application Platform

2008-05-26 09:15686
用户头像

发布了 150 篇内容, 共 43.4 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

黄金排障场景之Coredump

焦振清

稳定性 稳定性治理 coredump 故障复盘 90-2-5-10

在线CSS美化格式化工具

入门小站

工具

最新实用油猴脚本推荐

源字节1号

技术分享

写作一

ASCE

Prometheus 监控系统

yuexin_tech

Prometheus

加密项目必修科目:代币经济学

CECBC

手绘流程图讲解spark是如何实现集群的高可用

华为云开发者联盟

spark 高可用 集群 Worker master

绝悟AI再次亮相GDC,展示人机协作与AI内容生成能力

科技热闻

【架构学习06】——拆分电商系统为微服务

tiger

架构实战营

高并发场景下优化加锁方式:线程等待与通知机制

华为云开发者联盟

线程 高并发 死锁 加锁 互斥锁

毕业总结:

Geek_59dec2

毕业总结

架构训练营-模块一

流火

3分钟带你搞懂Vue双向绑定原理及问题剖析

Bug终结者

CSS JavaScript vue.js

特性更新!DistSQL 集群治理能力详解

SphereEx

Apache 数据库 ShardingSphere SphereEx

不考虑安全的数字化转型都是伪命题

极狐GitLab

security DevSecOps

极客星球 | 联邦学习与产品化之路

MobTech袤博科技

人工智能 联邦学习 FATE

2022第11周-打油诗一首

李印

生活记录

从 0 到 1 建设小程序可观测性

方勇(gopher)

小程序 可观测性 SRE 服务治理 低代码开发

Linux之nohup命令

入门小站

Linux

spring cloud篇之配置中心

邱学喆

加密解密 配置中心 spring-cloud-config 配置实时性

该怎么认识数字藏品

CECBC

数字经济的重要基石——数据安全

CECBC

#JiraHero:Soumen Deb——重塑 Jira Software 中的 Bug 工作流,提高可见性、简化开发流程

Atlassian

DevOps 敏捷 工作流 Atlassian Jira

NFT数字藏品NFT交易系统平台开发

薇電13242772558

NFT

测试开发【Mock平台】03 基础:初识Antd React 开箱即用中台前端框架

MegaQi

React 测试平台开发教程 测试干货

在线HTML5,CSS3,VueJS,jQuery运行测试练习工具

入门小站

工具

王者荣耀商城异地多活架构设计

唐尤华

架构实战营

模块一:作业

本人法海

「架构实战营」

并发与多线程之线程安全篇

Linux服务器开发

线程 多线程 并发 后端开发 Linux后台开发

【架构实战营】-模块一作业

,lazy

「架构实战营」

【直播预告】「不确定性局势下的金融安全保障」,拒绝纸上谈兵,破局合规挑战

FinClip

安全 金融 数据安全 合规性

针对许可证、OSGi、以及SpringSource应用平台技术现状的反应_Java_Scott Delap_InfoQ精选文章