Glen Kunene's Recent Posts

When Is Open Source Not That Open Source?

| | Comments (0) | TrackBacks (1)

Setting the legal nuances of the chosen open source license aside, wouldn't two products under any open source license have the same claim to the open source moniker? Maybe so technically, but for many engineers who contribute to the development of open source projects, like Linux Foundation Chief Platform Strategist Ted Ts'o, there's much more to the open source designation than just the license.


Borrowing the Mozilla term "organic," which describes a development process that draws upon the contributions of a diverse developer community and many different companies, Ts'o draws a distinction between organic open source and non-organic open source. Ts'o explained this distinction to me as he headed to the airport for a flight to Portland, Oregon, where he's attending the OSCON show and participating in a panel discussion about this very issue.


According to Ts'o, the difference between organic and non-organic is related to how much influence a single corporation has in the development of an open source product. The broader the developer community around a project and the lower the barrier to contributing, the more organic it is. Citing Linux, Apache, Mozilla, and Eclipse among those in the organic open source camp, Ts'o singled out OpenSolaris as a prime example of non-organic open source. In fact, he objected to "Sun claiming that Solaris is just like Linux because it's open source"--a characterization that seemed to inspire his interest in asserting these definitions.


Ts'o, an IBM employee, said 99 percent of OpenSolaris development comes from Sun engineers. He added that Sun has a "heavyweight development process" in place for OpenSolaris, in which Sun engineers must sponsor any individual contributions as well as shepherd submitted patches. "If you're not accepting patches from the outside world, you have to wonder whether things have really changed a lot since the Solaris 8 and 9 days [when a developer could purchase the operating system on a CD for $75]," said Ts'o.


Ts'o does concede that the organic/non-organic distinction is more of a business argument than a technical argument, even labeling the OpenSolaris 'just like Linux' message as marketing to young developers. He made no judgments about how a non-organic development process impacts the quality of the OpenSolaris end product. He did, however, praise the organic approach for its individual rather than corporate stance, which he believes nurtures a very broad developer community, shields the project from corporate upheavals such as layoffs--which in a non-organic project can lead to a debilitating loss of  developers, and ensures that decisions are based on the project's best interests rather than market interests.


So depending on whom you speak to, a license alone doesn't determine open source. The development process--as well as the degree and ease of individual participation allowed--are just as important. And don't even bring "free" into the discussion: Do you mean free as in beer, or free as in speech ...

At one point during salesforce.com CEO Marc Benioff's keynote yesterday at the SaaS leader's Tour De Force stop in Santa Clara, he presented a slide with a signpost of a forked road. One road led toward software and the other toward cloud computing. Above them was the declaration: "it's time for software developers to ask 'which path am I going to take?'"

The slide served as a launching point for Benioff to promote the advantages cloud computing (on the Force.com platform, in particular) offers application developers over traditional on-premise datacenters. But the proposition it posed was, of course, overstated. While the advantages of cloud computing--minimal start-up cost and systems maintenance, and the ability to deploy with a click of the mouse--are compelling, most developers today aren't facing an either/or proposition. They work in organizations that are heterogeneous mixes of on-premise applications with just a few business or infrastructure functions deployed in the cloud (if any). New projects might be considered for the cloud-computing model and web startups definitely would have to look at that option, but for most businesses, existing investments in datacenters and enterprise software licenses guarantee that the on-premise model isn't going away any time soon.

For those developers who are already programming on the Force.com platform using the Apex programming language, Salesforce.com announced the Force.com Toolkit for Google Data (GData) APIs. I sat down with Steven Fisher, Senior Vice President of the Platform Division at salesforce.com, who explained that Apex had all the bare capabilities for a developer to call the GData APIs manually prior to the toolkit's release, but coding against the API required parsing through all the XML in the GData ATOM and RSS API. "What we really announced today at the technical level is an Apex library that does all that parsing for you, so you can just interact with objects," Fisher told me.

"Behind the scenes, this library formats out the appropriate XML, and does the HTTP callouts, and all of that kind of stuff. It was so much effort (calling GData from Apex) that people just weren't going to do it, and now it's one line of code."

Google launched its largest and first paid-admission developer conference, Google I/O, yesterday in San Francisco with a 90-minute keynote session to show off a number of its web development products and initiatives. The message of the presentation, titled "Client, Connectivity, and the Cloud" and led by Google Engineering Vice President Vic Gundotra, was nothing new; much of it echoed O'Reilly's "Web 2.0" conception, Salesforce.com's and BungeeLabs' platform as a service (PaaS), and the Sun Microsystems corporate motto, "The Network Is the Computer."

Gundotra explained Google's high-level goal as moving the web forward by enabling web developers to:

  1. Access the cloud more easily (with Google App Engine);
  2. Leverage more power from the browser (with Google Web Toolkit); and
  3. Maintain pervasive connectivity in their applications (with Android and Gears).

Google App Engine
The PaaS pitch for developers was Google App Engine: Google will host their applications on its servers for free and charge only when the applications exceed either 500MB of persistent storage or the bandwidth and CPU necessary for 5 million monthly page views. Although the pricing model won't be finalized until the end of the year and App Engine is still in preview, Google announced open signup for all interested developers. Developers need only sign up, develop the web applications on their local machines, and deploy them to Google. Launching the application then is just a matter of serving the application's URL to your end users. However, the App Engine runtime environment currently uses only Python. Google is considering other languages and runtime configurations for future releases. So if you're not a Python developer, you'll have to learn the language or wait.

Google Web Toolkit
The announcement of the Google Web Toolkit 1.5 Release Candidate (GWT 1.5 RC) was Google's effort to make the browser more powerful. GWT uses an optimizing cross-compiler to convert Java code input, written in the IDE of your choice, into compiled JavaScript output for target browsers (IE, Firefox, Opera, and Safari). GWT 1.5 RC adds full Java 5 language support—the most requested feature from GWT users, according to Bruce Johnson, Google's GWT engineering manager.

During his demo, Johnson explained that when developers write an application directly in pure JavaScript, they're responsible for optimizing and maintaining that code themselves.  But with GWT, developers write applications in maintainable Java code, and the cross-compiler produces the fastest JavaScript possible for that application—with no concessions to maintainability.

If you like the GWT functionality but code in C#, check out Script# as an alternative. 

Android and Gears
The Android and Gears demos filled the pervasive connectivity role. Android Engineering Director Steve Horowitz demonstrated the much-talked-about mobile development stack on a mobile device. The home screen featured the typical items you'd expect (e-mail, Internet, contacts, etc.), and Horowitz's touch-screen navigation would've had more appeal if the iPhone hadn't already been on the scene. But things got interesting when he pointed the WebKit browser to Google Maps. Horowitz set the device to Compass mode while viewing a Google Maps Street View of the San Francisco waterfront. Holding the device at arms length, he turned around 180 degrees in either direction and the Street View moved in relation to him, providing a sweep of the waterfront image. That trick drew applause.

MySpace's Senior VP of Engineering, Allen Hurff, conducted the Gears demo. A browser plug-in, Gears (formerly Google Gears) uses a local server, database, and worker pool to enable users to interact with web applications while they're offline. Hurff showed this capability by doing a full text search of his 300-plus MySpace Mail messages without calling back to the MySpace servers. Each search term he entered dynamically narrowed his messages to only the matching results, and the search was powered completely by his local machine.

The keynote's message of "Client, Connectivity, and the Cloud" was nothing I hadn't heard before. But what made it compelling was that it came from a child of the Web era (you could say the poster child—in the canon of web-based services alongside Amazon, eBay, and now MySpace). Google itself was born of open standards/open source software, the Internet as the platform, and the proverbial web company founder story: two computer whiz kids in their college dorm room with a brilliant idea and no money. What's possible for those kids—and whiz grownups—today? Google believes it has the tools to help them find out.

If I didn't know better, I would've thought I was at CES (Consumer Electronics Show) in Vegas yesterday morning instead of the opening keynote at the JavaOne 2008 Conference in San Francisco. Demos featured handheld book readers and graphics-rich "eye candy" applications on mobile devices, desktops, and the web; video presentations featured young hipsters immersed in the pop culture content and communication features of their mobile devices; and much of the talk from Sun Software EVP Rich Green centered on the consumer's digital life and rich experiences on various devices. So what's all that stuff have to do with Java? The devices all run Java, and the JavaFX Runtime that Sun announced during the session attempts to allow seamless portability of Java SE and ME applications among all devices through the Java platform.

 

Enter the theme for JavaOne this year: Java + You (if you're reading this, you're probably a Java developer and that "You" likely is closer to the 2006 Time Magazine Person of the Year than to you in particular); it refers to consumers, graphic and web designers, and scripting language programmers who use PHP, Ruby, JavaScript, Perl, and others. Sun continues to court designers and scripters by making the Java platform more accessible to them, largely because their numbers are much larger than those of core Java developers. With enterprise Java entrenched in data centers all over the world, Sun can—and has—turned its attention to higher levels of the software stack—focusing sharply on RIAs (rich Internet applications) for desktops,  mobile devices, and the web, and their ability to leverage features of the underlying Java platform. JavaFX is another step in that direction.

 

I wasn't overly impressed when Sun first announced JavaFX at last year's JavaOne, but this year, the demos (more to come on those) showed that Sun has worked to close the gap between a JavaFX vision and real JavaFX technology.

 

Stay tuned to the DevXtra Editors' Blog for more details from JavaOne...

YAB? Just What You Need

| | Comments (0) | TrackBacks (0)

The launch of the DevXtra Editors' Blog is bound to raise the YAB (yet another blog) questions: Why, and why now? Those are fair in an age when everyone with an Internet connection and an opinion is blogging. Let me explain.

Simply stated: The DevX editors have more to say. Being located in Silicon Valley places DevX at ground zero for developer news and events. In the past month alone, Eclipse, RSA, and MySQL/Sun (I'm still getting used to that) have hosted conferences in the Valley, and JavaOne kicks off on May 6 in San Francisco. While that's a blessing for keeping us in the know about major developments in the application development space, it's also a curse in terms of managing the information overload that can accumulate--while still producing the practical how-to content you've come to expect from DevX.

The DevXtra Editors' Blog enables us to pass along the observations and interesting tidbits that in the past have been relegated to water cooler discussions and editorial meetings--too short to be full articles, too extemporaneous to be tutorials. Now we have a space to share this (we think) valuable information, and DevX readers get to see who's behind the curtain, find out what's got us buzzing, and participate in a dialogue.

We hope you'll find the DevXtra Editors' Blog informative, enjoyable, and provocative. Most importantly, we urge you to share your thoughts about our postings and help make this more than just YAB.