Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

Saturday, November 10, 2012

VMware releases micro version of Cloud Foundry PaaS


Everything in the cloud seems to be getting bigger or smaller. VMware today went the small route, releasing an updated micro version of the company's popular open source platform as a service (PaaS), Cloud Foundry.



In that aspect, VMware's micro instance of Cloud Foundry seems like a natural move. VMware launched it in 2011 and today the company updated it. As a PaaS, Cloud Foundry is used by developers as a cloud-based tool for creating and deploying applications. Traditionally these PaaS deployments live on large cloud environments made up of multiple virtual machines. But a micro instance, like the one released by VMware today, gives another tool for a developer to more easily test and play around with Cloud Foundry on a single machine.
The sixth paragraph now reads:
VMware says Micro Cloud Foundry has all the same features and functionality of the regular Cloud Foundry, the only limitation will be the power of the single VM that it runs on. In addition to announcing the micro version today, VMware also announced new features that will come with the Micro Cloud Foundry release. These include support for standalone apps, and enhanced support for various programming languages, including Ruby, Java and Node.js.

Source: ComputerWorld

Microsoft Open Technologies announced that it is open-sourcing Reactive Extensions


Microsoft Open Technologies announced that it is open-sourcing Reactive Extensions, an asynchronous programming model for the cloud.



Microsoft has open-sourced an asynchronous programming model known as Reactive Extensions or Rx.

According to a post on the company’s Interoperability@Microsoft, Microsoft Open Technologies (MS Open Tech) is open-sourcing Rx,  a programming model that enables developers to glue together asynchronous data streams.

Microsoft said the model is particularly useful in cloud programming because it creates a common interface for writing applications stemming from diverse data sources, such as stock quotes, tweets, computer events and Web service requests, according to the post written jointly by Microsoft software architect Erik Meijer and Claudio Caldato, principal program manager for Microsoft Open Tech.

Meijer, a proven researcher and software wizard with several Microsoft inventions under his belt, developed Rx and continues his leadership role in the evolution of the technology. The Rx development team will be on assignment with the MS Open Tech Hub, an engineering program to accelerate the open development of the project and collaborate with open-source communities.

The Rx source code will be hosted on Microsoft’s CodePlex open-source project hosting site to increase the community of developers seeking a more consistent interface to program against that works across several development languages and is also open to community contribution. The goal of open-sourcing Rx is to expand the number of frameworks and applications that use Rx in order to achieve better interoperability across devices and the cloud.

“There are applications that you probably touch every day that are using Rx under the hood,” Caldato said in the post. “A great example is GitHub for Windows.”

"GitHub for Windows uses the Reactive Extensions for almost everything it does, including network requests, UI events, managing child processes (git.exe),” said Paul Betts a .NET developer at GitHub is quoted as saying in the Microsoft post. “Using Rx and ReactiveUI, we've written a fast, nearly 100 percent asynchronous, responsive application, while still having 100 percent deterministic, reliable unit tests. The desktop developers at GitHub loved Rx so much, that the Mac team created their own version of Rx and ReactiveUI, called ReactiveCocoa, and are now using it on the Mac to obtain similar benefits."

Scott Weinstein, a principal and practice head at Lab49, said in the post: “Rx has proved to be a key technology in many of our projects. Providing a universal data access interface makes it possible to use the same LINQ compositional transforms over all data, whether it’s UI-based mouse movements, historical trade data, or streaming market data sent over a Web socket. And time-based LINQ operators, with an abstracted notion of time make it quite easy to code and unit-test complex logic.”

And Netflix Senior Software Developer Jafar Husain added: "Rx dramatically simplified our startup flow and introduced new opportunities for performance improvements. We were so impressed by its versatility and quality; we used it as the basis for our new data access platform. Today, we're using both the JavaScript and .NET versions of Rx in our clients, and the technology is required learning for new members of the team."

The Rx offering on CodePlex includes a series of libraries, such as:

Rx.NET: The Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators.
RxJS: The Reactive Extensions for JavaScript (RxJS) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators in JavaScript which can target both the browser and Node.js.
Rx++: The Reactive Extensions for Native (RxC) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators in both C and C++.

Source: eWeek

Friday, November 2, 2012

VMware expands Redis open source in-memory data store programming options


The Redis in-memory data store update adds support for scripting and bit-wise operations



Redis, an open source in-memory data store maintained by VMware, has been upgraded to be more stabile and make more judicious use of memory, two traits that should make it more appealing for enterprise deployments.

"Redis 2.6 is more mature than Redis 2.4 in many ways, and users will have a better overall experience," said Salvatore Sanfilippo in an email interview. Sanfilippo is a VMware open-source developer who authored Redis.

"We already see that Cloud Foundry users love Redis for its simplicity of use. We anticipate this will only increase with Redis 2.6," Sanfilippo wrote, referring to how VMware offers the data store as part of its Cloud Foundry PaaS (platform as a service) offering.

One of a growing number of NoSQL databases, Redis is an advanced key store, one that can accept keys in a wide range of formats, including strings, hashes, lists and other formats. Because of the unique trait, Redis allows complex operations to be executed on the server, minimising the workloads on less-efficient clients.

"Redis is particularly suited for tasks where there is a very high load in general, and especially for very write-heavy workloads, where the data set size is in a range suitable to be stored in-memory," Sanfilippo wrote. "Because the Redis data model is different and exposes an API to manipulated fundamental data structures, there are problems that are simpler to model with Redis."

One job that Redis is particularly well suited for is real-time analysis of data, Sanfilippo said. The Redis data store, which is usually run entirely in memory, can easily work in conjunction with another on-disk data store that would hold a much larger collection of data.

"Just as PostgreSQL was the basis for so many leading analytic relational DBMS', Redis is being adapted for a variety of NoSQL-style products," said database industry analyst Curt Monash. In addition to real-time analysis, Redis is also frequently used as a caching layer, like "memcache on steroids," Sanfilippo said, and even as a messaging system. "Both types [of applications] depend on writing data quickly into simple data structures," Monash added.

The new features with the Redis 2.6 release offer a wider range of capabilities to help in these duties. For this release, significant parts of the Redis core engine were rewritten.

Wednesday, October 3, 2012

An Open Source Dyslexic Font


Programmers seem to be prone to dyslexia, or is it that dyslexics are prone to programming? Whatever the cause, an open source dyslexic font is welcome news. FONT




Now we have an open source font that claims to be dyslexic friendly. It is a modification of the Bitstream Vera font to give each letter a "heavy bottom". The font has been made by Abelardo Gonzalez, a New Hampshire-based app designer, who released his designs onto the web at the end of last year. Since then the Creative Commons licensed font has been downloaded more than 12,000 times, which isn't a lot, but it also has been built into a number of applications - WordSmith, the openWeb browser, various e-readers and now Instapaper.
The idea of the "heavy bottoms" is that it makes each letter less symmetrical in and adds "gravity" so that you can't rotate the letters. The letter shapes are also supposed to stop flipping e.g. p to q and b to d for example.

The only problem with this really great idea, and it is difficult to criticize any noble cause, is that it hasn't been tested. There are some personal commendations from dyslexics on the site and there is a plan for a specialist school to test the font in the future but at the moment you have to look at it and decide for yourself if it works.

The heavy bottoms remind me of a failing old mechanical typewriter where the tops of the letters are fading out because of broken mechanism or drying out ribbon. Overall, it was a relief to get back to a standard font and certainly wouldn't want to use the dyslexic for coding.
But this is a personal opinion and dyslexia is as varied a problem as you can find. The best thing is to try it out.

Monday, September 3, 2012

How Twitter tweets your tweets with open source


when Twitter recently joined The Linux Foundation. You couldn't tweet about your dinner, your latest game, or the newest political rumor without open-source software.



Chris Aniszczyk, open-source manager at Twitter, explained just how much Twitter relied on open source and Linux at LinuxCon, the Linux Foundation's annual North American technology conference. “Twitter's philosophy is to open-source almost all things. We take our software inspiration from Red Hat's development philosophy: 'default to open.''”

Specifically, according to the company, “The majority of open-source software exclusively developed by Twitter is licensed under the liberal terms of the Apache License, Version 2.0. The documentation is generally available under the Creative Commons Attribution 3.0 Unported License. In the end, you are free to use, modify and distribute any documentation, source code or examples within our open source projects as long as you adhere to the licensing conditions present within the projects." Twitter's open-source software ware is kept on GitHub.

You're welcome to use this code. Indeed, Aniszczyk strongly encourages others to use and build on it.

Twitter itself is famous, or infamous in some circles, for having been built on Ruby on Rails. Today though Aniszczyk said, Twitter has moved to Java and a list of open-source programs longer than your arm.

If Unix and Linux are operating systems that are made of many utilities loosely coupled than Twitter is a social network made up of many open-source programs loosely couped together. Some parts will be familiar to anyone in Linux or Web development circles.

Twitter's core operating system is Linux 2.6.39 and for its core database it uses MySQL. To manage the source code for the rest Twitter uses Git. Linus “Linux” Torvalds' other software baby.

But, let's cut to the chase, what actually happens when you tweet?

First unless you've never used “The Twitter,” you know that a tweet is a short of 140 characters or about 200 bytes. When you send this tweet it will soon be “fanned out” to the people who read your tweets. Sound easy right? “Wrong!” Proclaimed Aniszczyk.

The problem is the Twitter's scale. Twitter handles 2.8-billion tweets during a typical year. That counts to 5,000 tweets a second on average. But, Aniszczyk said, things aren't always average. When someone noticed the singer Beyonce showing a baby bump, traffic went up to 8,800 Tweets per second (TPS). The last SuperBowl? 12,000-plus TPS, and when someone got the idea that everyone should go see an anime movie and then tweet about it, Twitter faced one of its greatest challenges: 25,088 TPS.

What happens with each of these tweets is they put are registered as a status update. Then each one is given a unique ID using a program called snowflake. Next, it's geolocation data is noted by Rockdove, a program that hasn't been made open-source yet.

Each tweet is then checked by a combination URL shortener and spam detector called t.co. Once past this stage, each tweet is stored in MYSQL by Gizzard, a flexible sharding framework for creating eventually-consistent distributed datastores. Now, and only now is an HTTP 200 signal, meaning all has gone well, to your Web browser.

Of course at this point your tweet hasn't gone out to the world. First, your tweets get started on their way to Bing and other search programs using the Firehose application programming interface (API). Finally, your tweets are ready for fanout, that is heading to your friends, family, and fans.

The actual process is handled by FlockDB. This is an open-source graph database that sits on Gizzard and pulls data from MySQL. FlockDB contains all of Twitter's users and their relationships to one another. Now, armed with the your followers addresses your tweets are finally on their way.

The average time all this takes? About 350-milliseconds. Not bad for a system handling 5,000 TPS every day, 24-hours a day.

Twitter may be causing some of its would-be partners grief with tighter API rules, but the company itself does an exceptional job of delivering thousands of messages every moment of the day with open-source software.

Thursday, August 16, 2012

Open Source OS X and TextMate 2


TextMate is one of the most popular text editors available for OS X, but the second version has been “on the way” for so long that many considered it abandonware. It turns out they were not far off the mark. Recently, MacroMates released the source code for TextMate 2 under the GPL 3 license on GitHub. Will releasing the code breath new life into the beloved editor, or has it been sent out to pasture, where forsaken code goes to die?



It could be said that TextMate and Ruby on Rails started life together, shot into the spotlight with this video. The video was meant to explain the power of the Rails framework, but also showcased the features of TextMate. TextMate was adopted as the unofficial text editor of the Ruby community, and through it’s plugin architecture was soon extended to deal with code of all kinds. TextMate sold well, and it’s developer, Allan Odgaard, promised in 2006 that TextMate 2 would be available as a free upgrade. Excited by the abilities of the editor, as well as the promise of free upgrades, developers flocked to TextMate in droves.



Unfortunately, time dragged on and updates on the status of version were few and far between. Five years later, the spirits of those who were still using TextMate were lifted briefly when a public alpha was released. The alpha was, as most alphas are, buggy, and not at all a successor to the original TextMate. Fast-forward to August, and the long awaited text editor is finally here, but not in it’s final 2.0 stable release version, but as an open source project.



This should be a victory for the open source community. A popular commercial product released as open source for programmers everywhere to adopt seems like the perfect end to the story, but it reminds me of another open source Mac project; Letters.app. Letters was intended to be the mail client that we all wanted on the Mac; open source, powerful, and beautiful. However, while the project did have a good sized group of developers, and high profile people involved, the project quickly fizzled out and died a quiet, lonely death as it’s leads went to work on other projects. The Letters project revealed one aspect of the mindset of Mac developers; that open source is great, but there is still money to be made with commercial software. Could TextMate be headed to the same desperate fate of Letters? Possibly, but this story also reminds me of one other project.

Quicksilver is one of the most fantastic Mac applications available. More than just an application launcher, it is a modern command line, a keyboard centric control station for the Mac. Originally developed and released for free by Blacktree, the launcher slowly started to show signs of decline as the developer started to lag behind as the Mac OS was updated. Late in 2006, Quicksilver was released as open source, and quietly abandoned… for a while.

In 2011 a small group of developers picked up the source code for Quicksilver and started putting serious effort into modernizing it, as well as fixing some major bugs. A new domain was bought, qsapp.com, and life was rapidly brought back into the ailing application. Today, Quicksilver is once again the gold standard for Mac automation.

TextMate obviously shares more of a similar history with Quicksilver than Letters, but will that be enough? Quicksilver was brought back to life because a small team decided that they really loved that application, and that because of that love they were willing to spend serious time and resources on making it the best that they could. Now that Allan Odgaard has put down the code, who will be willing to take it up again? Will TextMate fail and die like Letters, or will it flourish into new life like Quicksilver? Only time will tell.

Tuesday, August 14, 2012

Pixar Releases Open SubDiv On An Open Source License


Most people can probably agree that Pixar is one of the most influential animation studios of all time. Their films have been not only critical and commercial hits, but important to the progression of animation technology as well. The technology Pixar uses in their films is some of the most impressive in the business. Now you can use it yourself for free.



Pixar has decided to open source their Subd evaluation code. It’s called Open SubDiv and it’s “a set of open source libraries that implement high performance subdivision surface evaluation on massively parallel CPU and GPU architectures.” With the release, Pixar hopes to “encourage high performance accurate subdiv drawing by giving away the “good stuff”.”

This is a huge deal for both Pixar and the development scene as a whole. By making their software open source, Pixar opens the doors to programmers of all backgrounds to help improve it and change the software.

It’s also big news for hobbyist animators and programmers because Pixar has released the code under the Microsoft Public License. Animators and programmers can release work made with Pixar’s code for non-commercial and commercial use. It wasn’t just enough that Pixar released their code, but they’re letting people make money off of it too.

The software is currently in beta, but Pixar will keep putting out new updates over time. The source code is available to all at GitHub. I can’t wait to see what amateur animators do with the software. If this release goes over well, they might start to release other software as well.

Wednesday, August 8, 2012

W&L's R.E. Scholars Design Software for Surveillance Drones


In a war zone, an abandoned building may be filled with hidden hazards. Bombs. Booby traps. Snipers. Thanks to software designed by Washington and Lee computer science professor Simon Levy and his summer research students, American soldiers may soon be detecting these dangers using miniature surveillance drones.

Levy and his students — junior Suraj Bajracharya and sophomore Bipeen Acharya, both from Nepal, and junior Olivier Mehame of Rwanda — are working with Advanced Aerials, a Navy contractor, to develop the software, which will be embedded on a wrist-mounted controller. Their program would allow soldiers to tap out simple commands on the controller’s touchscreen.

“Imagine a scenario where they’re trying to figure out what’s in a particular building, and they don’t want to run in there. There may be explosive ordnance…or they may be under attack,” explained Levy. “So the idea is, you can take this [drone] out of a pack and toss it in the building and have it flying around looking for things, with cameras on it.” The cameras would record a live feed of the building’s interior.
Levy and Advanced Aerials, a VTOL UAV rapid prototyping company north of Charlottesville, will demo the software for the Navy this fall. The project offers Levy’s students a unique research opportunity because they are building a commercially viable product. “There’s actually a customer who wants this technology,” said Levy.

The students, all Robert E. Lee scholars, spent the first part of the summer coding commands for the drone. Their goal? To keep the coding as clean and simple as possible. They also wanted to create a visually appealing touchscreen.

Levy’s students started coding as soon as the project began. This would not have been possible a few years ago, said Levy. Until recently, the only small computing devices available were micro-controllers. These special-purpose computers have their own language and limitations, and the students would have needed time to learn their computer’s particular platform.

Programming today is much simpler. “You can get an entire computer that’s already good to go, with programming on board. The students don’t have to learn much beyond what they’ve already learned in their computer science courses,” said Levy.

Technology is also more affordable than it was in the past. “We’re currently working with what’s called commercial, off-the-shelf technology,” said Levy. “Most of this stuff costs between $20 and $200. It’s very inexpensive technology. You can buy it at Amazon or some supplier online. I’m just using, basically, little $20 webcams for this.”

According to Levy, the drones and controllers to be used in the demo are supposed to be easily portable and disposable. Part of the challenge for the students was to keep the coding clean and efficient. Levy reviewed their work daily to correct mistakes. “We would be doing it the long way, and he would come in and tell us to use a function,” said Acharya. These functions, or shortcuts, removed repetitive codes and kept the program lean.

The team’s software is highly adaptable and can be embedded in a variety of small, open-source computing devices that operate on a Linux platform, from BeagleBoard to Raspberry Pi to Gumstix. “The code we write for one of the devices can work on any of the other devices,” said Bajracharya. They decided not to design an iPhone-ready program because the Apple device requires a specialized code not easily adaptable to other platforms.

A prototype drone was unavailable in June, so the team tested commands on a server that acted as a substitute for the actual robot. Levy will test the software on a drone later this summer. In September, Levy and the head of Advanced Aerials, Bert Wagmer, will demo the device for the Navy. “If that works out, we’ll have a bigger product due a year out from that,” said Levy.

The students agreed that they learned a lot about programming. “It made me get more interested in programming because I hadn’t worked with designing things graphically as an interface,” said Mahame. He also enjoyed “doing the coding to connect to the graphical user interface and making it more dynamic. I think this project was really cool.”

Gaining hands-on experience with a high-level commercial project was another benefit for his research assistants, said Levy.  “You can come to a place like W&L and get some really interesting projects under your belt very quickly,” said Levy. “This industry is really cooking. I know they won’t have any trouble finding a job or going to grad school.”

Saturday, August 4, 2012

New Language For Image Processing is Halide


Halide is a new open source language designed specifically for image processing and computational photography. It not only makes it easy to implement photo algorithms, it also makes them run fast by semi-automatic parallelization.



Algorithms that work with images are ideal for parallel implementation because they usually work with small isolated blocks of data that means the task can be parallelized without worry about interactions. The only problem is that even converting something that is ripe for parallelization from serial code to something that runs on today's confusing architecture of CPU cores and GPUs is difficult.

Halide is a new functional programming language from MIT, (with help from Stanford and Adobe) that allows you to specify image processing algorithms, mostly block convolution methods, more easily and without having to worry about how the algorithm is implemented. A second section of the program then provides a general description of how the algorithm should be parallelized. It not only describes how the algorithm should be split up among computational elements but how to organize the data to keep the processing pipelines running at maximum efficiency by avoiding restarts.

The easiest way to understand the general idea is to see a simple example (taken from the paper):
Func halide_blur(Func in) f
 Func tmp, blurred;
  Var x, y, xi, yi;
  // The algorithm
  tmp(x, y) = (in(x-1, y) +
          in(x, y) + in(x+1, y))/3;
  blurred(x, y) = (tmp(x, y-1) +
          tmp(x, y) + tmp(x, y+1))/3;
  // The schedule
  blurred.tile(x, y, xi, yi, 256, 32)
        .vectorize(xi, 8).parallel(y);
  tmp.chunk(x).vectorize(x, 8);
 return blurred;
}

The first part of the program defines a simple 3x3 blur filter split into a blur horizontal followed by a blur vertical step. The last part of the program, the schedule specifies how the algorithm can be treated in a parallel implementation. The Schuyler is machine specific and has to be changed to get the best performance out of a particular processor pipeline.

Tuesday, July 31, 2012

Azul Systems Announces New Initiative to Support Open Source Community With Free Zing JVM


Azul Systems, Inc. (Azul), the award-winning leader in Java runtime scalability, today announced an ongoing commitment to the Open Source community by making its Zing JVM freely available to Open Source developers and projects for use in development, qualification, and testing. The new initiative enables Open Source applications supporting commodity x86 servers running Red Hat Enterprise Linux, SUSE Linux Enterprise Server, CentOS and Ubuntu Linux to take full advantage of Zing's unique features and capabilities.



"Our goal is to make Zing the de facto choice for Open Source developers to achieve the most consistent Java performance and scalability," said Scott Sellers, Azul Systems president and CEO. "Azul's development teams have made extensive use of Open Source technologies over the years, and our new Open Source development initiative is another example of our commitment to the Java community and embracing Open Source software. We have put the lowest-latency and most scalable JVM freely into the hands of Open Source developers, removing the bottlenecks commonly associated with the Java runtime and enabling application innovation in a plethora of new markets such as in-memory computing and Big Data analytics."

The Zing JVM provides Open Source Java applications with:

Improved application responsiveness
Reduced application latency
Elimination of response time outliers
Support for large, in-memory data processing
Elastic scalability with memory heaps that can grow or shrink based on real-time demand
Dramatically simplified application deployments
Reduced customer total cost of ownership
Accelerated time-to-market
Improved production time visibility and runtime diagnostics.
"As developers have become increasingly important in adoption and procurement patterns over the past decade, availability has become a key factor in overall technology usage," said Stephen O'Grady, Principal Analyst at RedMonk. "With this announcement, Azul is trying to make it easy for open source developers to leverage and incorporate the Zing JVM."

Michael McCandless, Apache Lucene committer and PMC member, said, "Azul's innovative Zing JVM and pauseless GC now enable Apache Lucene project developers to explore use cases requiring large heaps, such as holding an entire search index in memory for faster searching. Initial in-memory tests on the full Wikipedia English-language site index show Zing is truly pauseless while managing a heap in excess of 140 GB."

"I'm very happy that Azul is making their Zing JVM available for free to the open source community, and I believe the platform is a valuable part of the Scala tool chain," said Martin Odersky, creator of Scala, Co-Founder and Chief Architect of Typesafe. "Typesafe and Azul share a common goal of providing the best solutions for scalability in the multicore age."

"Programming and architectural approaches that leverage immutability to enhance concurrency and scale will be well-matched by a runtime that is able to support high continual allocation rates without disruptions or pauses. By making the Zing JVM available to Open Source developers, Azul is making a fantastic contribution to the community," said Rich Hickey, author of Clojure and designer of the Datomic database system.

Martin Thomson, creator of the Open Source Disruptor Framework and co-founder of the Lodestone Foundation, a new project focused on Open Source technology for the financial industry, said, "I've been working with Zing for the past few months focusing on ultra-low latency and scalable deployments. We are seeing excellent GC performance, consistency and predictability with the Zing JVM."

"By opening up access to the Zing JVM, Azul has made it easier for us to ensure JRuby applications will scale to large heaps and heavy loads," said Charles Nutter, co-lead of the JRuby project. "Zing helps fulfill the enormous potential of Ruby on the JVM."

Thursday, July 26, 2012

Open-Source Startup Meteor Gets $11.2M from Andreessen Horowitz


Meteor Development Group (MDG) raises $11.2 million in funding from Andreessen Horowitz and others to fund development around the open-source Meteor Web app development platform.



Meteor Development Group (MDG), the company behind the Meteor open-source project, which produces a platform for building software applications, has announced $11.2 million in funding led by Andreessen Horowitz.

Also participating in the Series A round of funding was Matrix Partners and others, while a veritable "dream team" of enterprise technology leaders, including Rod Johnson, the creator of the Spring Framework and founder of SpringSource—now  part of VMware—will advise the company.

Applications written with Meteor run on a user's own computer—inside their browser or on their mobile device—and fetch any needed data from cloud services, which represents a sharp break from the model of Web applications for the past 15 years, where applications run on distant Web servers. Running the application on the user's computer gives a smoother, more responsive experience that is increasingly expected by consumers. Companies like Google, Facebook and Twitter use this technique in their flagship products, but it is typically out of reach for most developers because it takes months of work even for a team of experts, MDG officials said.

The Meteor Project is a collaboration between a group of developers who are experts in building this new kind of application. Its goal is to put the new technology in the hands of everyone. Because the Meteor platform is open source, any person or company may use it for free, or modify it to suit their needs. And Meteor apps can be written entirely in JavaScript.

"We want to create the universal standard for writing this kind of application, and that will only happen through broad industry cooperation," said Meteor co-author Matt DeBergalis, in a statement. "It's clear to everyone that we need something new. Will it be Meteor? What we see today is that it is open-source developers who drive the technology that is ultimately adopted everywhere else in the industry. So it depends on whether the open-source community chooses to rally around Meteor."

The new funding comes in the form of a Series A investment in Meteor Development Group, a corporation controlled by Geoff Schmidt, Matt DeBergalis and Nick Martin, the original authors of Meteor. The company will use the money to support Meteor development and grow the Meteor community, and plans to sell a complementary set of enterprise-grade operations management tools to large organizations that are using Meteor.

"JavaScript is fast becoming the most popular programming language for Web development, and Meteor is front-and-center in the JavaScript community. By addressing simplicity and scalability, Meteor is a great platform for enterprise Web development," said Peter Levine, general partner, Andreessen Horowitz, in a statement. "We are delighted to be partnering with Geoff, Matt and Nick as they build out the next-generation Web development tools."

In a blog post on the Meteor funding, Levine notes that JavaScript has become the No. 1 programming language on the GitHub hosting service for software development projects.

“The problem with JavaScript, however, is that it was designed to be a client-side language, leaving all the back-end server implementation to other languages,” Levine said in his post. “The result is that cloud-based Web applications take way too long to develop due to the sheer complexity and brittleness of the environment. Without Meteor, everything from security, to multi-tenancy, to latency, to database access requires special APIs and custom development, and developers need to know at least two languages.”

Yet, Levine continued, “The Meteor framework solves all of these problems. Meteor makes real-time application development dramatically faster and more approachable. It gives developers a comprehensive platform for writing Web apps in JavaScript where both client and server code use the same language and API, enabling the same code to be run on both the client and server. The result is real-time, cloud-based Web apps that are scalable, secure and distributed by design.”

Thus, the healthy investment in the startup. “We see this technology as fundamentally important to the future of the Web,” Levine added. “Through this investment in Meteor, as well as our recent investment in GitHub, we at a16z are excited to help developers build the next generation of applications.”

Meanwhile, in a separate post, David Skok, a general partner at Matrix Partners, indicated that Meteor might be the next Ruby on Rails. He said, “Every once in a while a new application development framework comes along that dramatically accelerates the way people create applications. Those rare platforms that excite developers ultimately revitalize software development and spur new creativity. Though it's still early, Meteor appears to be the next big thing in Web application development as it is clearly delighting both expert and novice developers.”

In his own post on the Meteor Website, Schmidt, CEO of MDG, said the $11.2 million gives the company “certainty” because “no matter what else happens in the world, the core team will be able to focus entirely on Meteor for several years, without taking on consulting work or trying to create some other application on top of Meteor to sell. The high valuation of the round eliminates any possibility of a talent acquisition. And we control the company's board. So, everyone in the community can be certain that Meteor will be around for the long haul.”

And though Meteor will always be free and open source, eventually MDG plans to deliver a commercial product named Galaxy, Schmidt said. “Galaxy will be a product that the operations department at a large company might buy,” he said. “It'll be an enterprise-grade, multi-tenant hosting environment for Meteor apps. In other words, it'll let you run a private, centrally controlled ‘meteor deploy’-like service for your company, on your own hardware. You'll be able to manage how your apps are distributed across your data centers, perform capacity planning, and enforce controls and policies that are appropriate to your organization. Google and Facebook have these tools—why shouldn't your organization?”

However, the MDG agenda for the next few years is to:

Make Meteor the best platform for writing most any kind of app. This is an enormous job and will continue to consume almost all of our energy. Our goal is ubiquity on the scale of SQL, Apache or Java.
Create opportunities for Meteor developers—for example, encourage companies to adopt Meteor, creating jobs. We want to make you famous and get you paid.
Support the Meteor community. This includes everything, from publishing books and organizing conferences, to being responsive to bug reports and pull requests, to finally making some cool T-shirts.
Rod Johnson will join the company's board. Skok and Levine will serve as special advisors to the company. Previously, Skok built the enterprise sales strategy for JBoss, the open-source Java application server, while Levine is the former CEO of Xensource, which was acquired by Citrix Systems.

"Rod, David and Peter are our dream team," Schmidt said in a statement. "They know more than anyone else about building open-source technology for the enterprise."

"Today, we're in the midst of the biggest architectural change since the rise of the Web. Traditional Web application architectures don't cut it anymore, as users expect a better experience," said Johnson in a statement. "I believe that Meteor can lead this transformation in Web technology, and I'm excited to join their board. Meteor not only enables Web developers to develop rich applications spanning multiple client types, it makes Web development fun again."

Andreessen Horowitz led the Series A financing, which included significant participation by Matrix Partners. Other investors include Maynard Webb, who sits on the boards of Salesforce and Yahoo; Paul Buchheit, author of Gmail; James Lindenbaum, co-founder of Heroku; Dustin Moskovitz, co-founder of Facebook; Alexis Ohanian, co-founder of Reddit; Y Combinator; Ron Conway; Yuri Milner; and Aaron Iba, co-author of EtherPad.

Monday, July 23, 2012

The OW2 Open Source Community Announces High-Profile Participation at this Year’s FISL


The OW2 community ramps up its presence in Brazil through its high-profile participation in FISL with members and projects 4Linux, Mandriva, MAPS, CompatibleOne and SpagoBI.



OW2, the global open source community dedicated to open source infrastructure software and generic applications, announces its participation as a Silver Sponsor in the 13th edition of the International Free Software Forum (FISL) in Porto Alegre, Brazil, July 24-28.

For its second participation in FISL, the OW2 community is making a significant contribution to the event in both the exhibition hall and the conference program. OW2 is ramping up its efforts to reach out to all those IT professionals in Latin America looking to benefit from its open source software solutions.

On the exhibition floor, the “OW2 Village” will be one of the largest booths. Members and projects 4Linux, Mandriva, MAPS, CompatibleOne and SpagoBI will showcase OW2's state-of-the-art open source technologies in middleware, enterprise applications and platforms, and cloud computing.

As for the conferences, the OW2 community will be hosting eight sessions that will reveal the strengths of open source innovation at OW2. From breakthrough collaborative projects to enterprise-ready application platforms, the community's contribution to the FISL conference program includes the following talks:
Cedric Thomas, OW2, will give two talks, one presenting the CompatibleOne open source cloud broker and the other discussing his analysis of the changing nature of open source.

Nelson Lago, University of Sao Paulo, will provide an update on the CHOReOS project,
Sergio Rafael Lemke, Mandriva, will present Mandriva and its Pulse 2 solutions for managing IT infrastructure,
Andrea Gioia, Engineering, will discuss extensive information management in SpagoBI,
Leandro Marcio Hernandez Benitez, 4Linux, will present BonitaSoft,

Miguel Koren O'Brien, Konsultex Informatica, will give a presentation of a SpagoBI use case,
Julien Renaut, MAPS SA, will present the Jmine platform.

“We are proud of our high-level participation in FISL this year. It demonstrates the strong momentum of our members in Brazil and our strategic commitment to Latin America.” said Cedric Thomas, OW2 CEO. “This is a great opportunity for the OW2 community.” he adds.

Friday, July 20, 2012

Open Source CRM Startup X2Engine adds Email Campaigns


X2Engine CRM, a new Open Source Customer Relationship Management startup, releases email campaigns for sales professionals



X2Engine today announced the general availability of X2EngineCRM, a next generation, open source CRM system. Founded in 2011 by CRM software entrepreneur and SugarCRM co-founder John Roberts, X2Engine CRM has been installed on over 2,500 public and private cloud servers across 110 countries within the last six months.  
“Today’s CRM systems have become so bloated with features they are almost impossible to use effectively,” said John Roberts. “With this latest release of X2EngineCRM, sales professionals can easily add unique tags to customer and account records, allowing them to quickly send out emails to targeted groups. It puts the power of a full marketing campaign management system into the hands of sales representatives, and frees marketing to work on more strategic campaigns.”

Customer Relationship Management(CRM) software has evolved over the years, and today there is an almost dizzying selection of capabilities, technologies, and pricing. CRM complexity and poor usability limit the value provided to companies, while restricting their return on investment. Too often, CRM systems become bogged down with features and capabilities, making them complex, costly to run, and difficult to use. We started X2Engine to reinvent CRM and provide an open, modern, more effective alternative.

X2Engine CRM Key Features:
Web and Facebook Lead Capture Forms
Lead Nurturing, Scoring and Intelligent Routing
Contact Activity Management
Sales Process Workflow Engine
Email Correspondence
Product and Sales Quotes
User Profile Pages and Activity Streams
Field Security, Roles and Sales Teams
Visual Form Editor for Admins
Reporting Dashboard
iPad and Mobile Device Apps
New Santa Cruz, Headquarters
X2Engine Inc. is headquartered in beautiful Santa Cruz, California, a short 40 minute drive from San Francisco International Airport. We really enjoy meeting users whenever possible and encourage you to visit our offices when you find yourself in the San Francisco bay area.
Supporting Resources:
X2Engine.com
Live Demonstration
Download Sites
Feature List
X2Engine on Twitter
X2Community

Thursday, July 19, 2012

Economic impact of open source on small business

Results from an in-depth study of open source's role in small and medium businesses.




A few months back, Tim O’Reilly and Hari Ravichandran, founder and CEO of Endurance International Group (EIG), had a discussion about the web hosting business. They talked specifically about how much of Hari’s success had been enabled by open source software. But Hari wasn’t just telling his success story to Tim, but rather was more interested in finding ways to give back to the communities that made his success possible. The two agreed that both companies would work together to produce a report making clear just how much of a role open source software plays in the hosting industry, and by extension, in enabling the web presence of millions of small businesses.

We hope you will read this free report while thinking about all the open source projects, teams and communities that have contributed to the economic succes of small businesses or local governments, yet it’s hard to measure their true economic impact. We combed through mountains of data, built economic models, surveyed customers and had discussions with small and medium businesses (SMB) to pull together a fairly broad-reaching dataset on which to base our study. The results are what you will find in this report.

Here are a few of the findings we derived from Bluehost data (an EIG company) and follow-on research:

60% of web hosting usage is by SMBs, 71% if you include non-profits. Only 22% of hosted sites are for personal use.
WordPress is a far more important open source product than most people give it credit for. In the SMB hosting market, it is as widely used as MySQL and PHP, far ahead of Joomla and Drupal, the other leading content management systems.
Languages commonly used by high-tech startups, such as Ruby and Python, have little usage in the SMB hosting market, which is dominated by PHP for server-side scripting and JavaScript for client-side scripting.
Open source hosting alternatives have at least a 2:1 cost advantage relative to proprietary solutions.
Given that SMBs are widely thought to generate as much as 50% of GDP, the productivity gains to the economy as a whole that can be attributed to open source software are significant. The most important open source programs contributing to this expansion of opportunity for small businesses include Linux, Apache, MySQL, PHP, JavaScript, and WordPress. The developers of these open source projects and the communities that support them are truly unsung heroes of the economy!

Saturday, July 14, 2012

Open source community collaboration strategies for the enterprise

Key open source considerations for businesses, communities and developers.

OSCON’s theme last year was “from disruption to default.” Over the last decade, we’ve seen open source shift from the shadows to the limelight. Today, more businesses than ever are considering the role of open source in their strategies. I’ve had the chance to watch and participate in the transitions of numerous businesses and business units to using open source for the first time, as well as observing how open source strategies evolve for software businesses, both old and new.


In the view of many, open source is the pragmatic expression of the ethical idea of “software freedom,” articulated in various ways for several decades by communities around both Richard Stallman’s GNU Project and the BSD project. The elements of open source and free software are simple to grasp; software freedom delivers the rights to use, study, modify and distribute software for any purpose, and the Open Source Definition clarifies one area of that ethical construct with pragmatic rules that help identify copyright licenses that promote software freedom. But just as simple LEGO bricks unlock an infinite world of creativity, so these open source building blocks offer a wide range of usage models, which are still evolving.

This paper offers some thinking tools for those involved in the consideration and implementation of open source strategies, both in software consuming organizations and by software creators. It aims to equip you with transferrable explanations for some of the concepts your business leaders will need to consider. It includes:

A model for understanding the different layers of community that can form around an open source code “commons” and how you should (and should not) approach them.
An exploration of the symbiotic relationship of transparency and privacy in open source communities.
An explanation of where customer value comes from in enterprise open source, which illuminates the problems with “open core” strategies for communities and customers.
A reflection on the principle that can be seen at work across all these examples: “trade control for influence”
Community types

At every stage of the journey for businesses from the software adoption models that preceded the Internet to those that embrace it, I often find I need to distinguish between the different kinds of community that are layered around various free software commons. Community members are frequently characterised as either “developers” (the “open source” worldview often emphasizes this) or “users” (the “free software” worldview often emphasizes this). All the same, using the term “community” to apply to every style of gathering leads to confusion, especially regarding motivations for participating.

A free software commons is a body of software contained in some sort of repository — usually a version control system but sometimes as simple as just a download directory — and licensed under an OSI-approved open source license, with rules to determine who can modify the contents of the repository. There are also often other rules regarding use of trademarks, discussion forums and other resources, and there are also often rules concerning who may change some or all of the rules and how people gain the right to do so. All these rules are collectively termed the “community governance.” The subject of good governance is extremely important, but this section does not attempt to cover it.

As I’ve watched various community engagements of many companies and individuals, and discussed this with various experienced open source practitioners, it seems to me that there are at least four different clearly differentiated software commons-centric community types, in two bands. These aren’t absolute classifications with hard-and-fast boundaries, and most communities span two of the types, but the distinction is helpful for enterprises when discussing communities.

Layered model

This model is not suited to every kind of discussion, as there are other ways to think about community layers. Most notably, the model I’m proposing here looks at the community layers from the outside, and it is also appropriate to use a model that looks from inside if the context is a community discussion. But the realisation that there is not just one open source community, nor even one kind of community, is a critical evolutionary step for enterprises wanting to engage in open source collaboration.

In the model I’ve found useful for enterprise discussions, community types are layered around the free software commons like the layers of an onion.

From the centre outwards, the categories of community are in two groups:

Co-developer communities — These are the people who directly engage with the core source code for the project. This is the place the project itself is made by a range of people who choose to synchronise an overlapping subset of their interests. Some of the people here may be paid to work on the project code, but all will be here because this is the code they want to work on.

Deployer communities — These are the people whose main engagement with the code involves a running instance that is configured and deployed by the community members in conjunction with other software that forms a deployment environment or stack. While they will contribute bug reports, test cases and occasional fixes, they don’t write the project code themselves; they are experts at configuring, deploying and using it. They also may train other people to do so.

They can be further distinguished into two sub-categories each:

Co-developer communities:

Core co-developers — These are the people whose contributions implement, evolve and maintain the code in the commons. They will have broad permission to change sensitive parts of the code arising from their track record for excellence. They may also include people who specialise in designing the user experience for the software. Many of them will describe themselves as working on the project rather than working for their employer, and some of them may have worked on the same code for several different employers. They are likely to have a strong culture that you’ll want to approach with respect. Importantly, no-one has an automatic right to admission by or respect from this community, even though your company may be a major source of funding. Your star developer or program manager gets the same rights as anyone else, when she has earned them. Attempts at management control of any aspect of this community layer will be most unwelcome and will likely be considered as damage. Moreover, they won’t welcome marketing messages, “developer programmes” and the like.
Extending co-developers (extenders) — These are people who co-develop software and other resources that builds on, enhances or aggregates the work in the commons. They localise the code, port it to different platforms, package it for different operating system distributions and more. They create extensions, plug-ins, prototypes of new features, sample configurations. They work on documentation and training materials. While they will be interested in the tools for doing all these things, they too are unlikely to be welcoming targets for marketing activities.
Deployer communities:

Deployer-developers — These are the people who take the contents of the commons and configure and customise them for deployment. They’re likely to be enthusiastic advocates of the project and very familiar with how to install it in particular applications. They will know all the configuration details, the tricks for tuning and perfecting an installation, the ways to secure and protect it. They may well be in-house developers integrating the project with specific enterprise applications. They are likely to be interested in both competing and complementary products, and to be receptive to developer programs. These are the people you are most likely to meet at user groups.
Users — These are the people who commission, specify and use — and whose employers may pay for — the work of deployer-developers and put it to productive use. They may well be enthusiastic advocates on behalf of the project. They are likely to be interested in offers of services, training, consulting, complementary and competitive services. They are unlikely to have development skills.
Implications of the model

This model for community types has gradually developed over time for me. Naming no names, I have especially observed the following points arising from the model:

1. There are four distinct community types here, but people may play different roles in other communities too. For example, package maintainers working on an operating system distribution may be extenders with regard to the code they are packaging from another project and core co-developers with regard to the distribution itself. People offering bug reports as deployers may well be co-developers in other communities.

2. People may play multiple roles within a given community too. A deployer-developer may be contributing code as an co-developer as they address problems during deployment, for example. Testers are likely to span multiple layers, as are documentation authors. Many people in all four of the layers are also users.

3. There are many different ways to contribute to the commons while participating. Users are often a crucial source of documentation, case studies, bug reports and feature requests and the user role is by no means to be considered unimportant. Mature communities will recognise a variety of ways of contributing to the project.

4. The freedoms people need protected vary between the roles. For example, a user is likely to view being protected from lock-in as a primary freedom and to want a choice of deployer-developers working on their behalf as well as the use of open standards in the design. While the original Four Freedoms provide a baseline, I’m increasingly convinced they need interpreting carefully for each “layer” so that the freedoms essential to smooth operation are understood and respected.

5. The way a commercial organisation engages with communities must respect both the role the organisation plays in relation to the community and also the roles of the people they wish to influence. Treating everyone as if they were, for example, deployer-developers, will lead to negative reactions from all the co-developers. There’s no faster way to alienate the most influential members of a community than to broadcast marketing messages to everyone.

6. There are a number of different ways to model open source communities, but I used this model extensively within Sun Microsystems to advise the engineering, marketing and management teams on their community engagements. Having a set of shared terminology to distinguish roles was important for avoiding the assumption that everyone means the same thing when they say “community.”

7. It’s common for software companies to have people who think that “community” is a synonym for “market.” It’s also common for enterprise software consumers to think that “community” is a synonym for “free support.” Both have their place, but a good understanding of community layering will help avoid career-limiting decisions and company-damaging actions resulting from these false associations.

Transparency and privacy

Whichever “layer” is involved, one of the keys to a successful open source community is the equality of every participant. Equality is a much-used word that’s become overloaded, but in an open source community it is the practical consequence of a combination of transparency around every action within the community and respect for the privacy of every participant outside the scope of the community’s actions. Equality does not automatically imply democracy, but it does mean mutual respect based on contribution alone.

Any community that is truly open will thus have strong values around transparency as well as respecting its participants’ privacy and independence. Such a community will also consequently be unlikely to have a copyright assignment benefiting a commercial party. Here’s why.

Synchronization of interest

It’s important to consider why people are in a community in the first place. While generosity and philanthropy are usually abundant in a healthy open source community, they are not the primary reason for participation. An open source community arises from the synchronization of the individual interests of many parties. Each person:

comes to the community at their own (or their employer’s) expense,
seeks to derive from the commons software that satisfies the need that brought them, and
freely brings with them their own abilities and contributions.
No community member is owed a living by any other user or community member. Communities themselves do not have business models; only (some of) the participants gathering in them do. Participants with a business interest in the code express that interest elsewhere, if it’s a truly open community.

To create an environment where people are willing to synchronize their individual interests and collaborate over code, there has to be transparency. Each action that takes place has to stand on its own merits. Each code commit needs to be understandable, each rule needs to be rational and justified, each expenditure needs to be explained and appropriate.

But that transparency doesn’t have to extend beyond the community into the lives and business interests of the participants themselves. Your motivations for being involved in the community are of no direct relevance to my contribution because our relationship in the community depends on code, not on a relationship between us outside the scope of the code.

It’s very important to realise that, if we do have a relationship outside the scope of the community, it is probably harmful both to our reputations and to the wellbeing of the community for us to allow it to secretly influence our actions in our roles as community members. Some of the worst problems I have seen in open source communities have arisen from community members negotiating in private and then carrying the conclusions into the community either as a fait accompli or with some untruthful rationalisation, usually based on legalism with regard to community rules.

The code, the community and how they interact are transparent, but motivations for participating in it are opaque. My reasons are up to me and yours up to you. They’re outside the immediate scope of the project because the code speaks for itself. Most importantly, you have no right to force acceptance of your business model on me in the name of the project. That’s true even if you started the project, even if you’re still the main funding source. Once you’ve created an open source community, this becomes true no matter how wonderful your historical contribution may have been. Any attempt at control is very likely to backfire.

Private motivations, transparent community

Thus in a healthy open source community, I’m free to maintain my privacy around my motivations and how I’m funding my involvement if I wish. On the other hand, I’m able to work in an environment of transparency where all the code is known, all its origins are known, all its defects are potentially known, all its design decisions are held in the mailing lists. That combination of transparency with privacy is, in my opinion, a primary characteristic of an effective open source community. Communities without the rule “if it didn’t happen as a matter of open record, it didn’t happen” are closed, regardless of the software license.

Open source is about transparency at the community level but also about the privacy of the individuals involved. The interface between the two is where a formal community/contribution agreement is relevant. To maintain trust, enable development transparency and permit individual privacy, it’s reasonable to ask every participant to assent to an agreement promising to stick to community norms, especially with respect to the originality of contributions and the possibility that they are associated with parallel-filed patents.

But it has to be every participant — including the “project sponsor”, if any. Any participant agreement has to impose a community norm. Unlike Orwell’s “Animal Farm,” there’s no scope for one participant or class of participants to be “more equal than the others.”

No exclusivity

To be specific here, it’s not reasonable to give any one participant the exclusive advantage of aggregated copyright for them to use privately. Doing so breaches the transparency-privacy boundary, damages trust by enabling opaque behaviour with the community commons and introduces private business-model reasoning into the community where it doesn’t belong.

I’ve heard arguments such as “we have to be able to make a profit” or “we contributed the original code” to justify copyright assignments, but these are personal not community arguments. Your need for profit is yours, not the community’s, and if you didn’t have it nailed before you started the community and irreversibly licensed the code under an OSI-approved license, that’s your problem. Your business need is no reason for me to surrender my copyright to you, so please don’t demand it. There is no amount of contribution on your part that permits you to demand anything from me — your rights are not proportional to your contribution in an open source community.

This isn’t just a matter of philosophy — it’s practical too. In “The Role of Participation Architecture in Growing Sponsored Open Source Communities,” Joel West and Siobhán O’Mahony make clear that if you’re a company trying to start an open source community, trying to maintain exclusivity will harm the outcome. Your attempt at control will either result in the failure of the community to grow as you hope, or ultimately in the community you created forking and working around you. It has happened before, repeatedly, and it will happen again.

Gaming the system

All this separation of interests has its limits, of course. The Apache Software Foundation has operated on this basis for well over a decade. It has been very effective when diverse peer communities have come together under such rules, and Apache’s model is about the best general-purpose open source community model there is.

But as a consequence it has also been a magnet for would-be abusers. While Apache has successfully dealt with many of these cases, there have still been a few where we’ve seen this combination of high transparency and high privacy being “gamed.” At various points in its history, Apache has seen corporate participants engage around projects in ways that aren’t good for the larger community. It’s not just Apache’s problem, either; other open source communities face the gaming of their models with maturity.

Here’s what happens: An experienced, well-staffed corporation with skilled, experienced professionals and with political power in the software market can make agreements privately. These can be among its own staff and with members of its partner ecosystem, and can be informally framed. They lead to effective control of an open source project run on these terms but with the appearance of openness. Further, the enforced transparency of the community means the abusers quickly become aware of any attempt by competitors — or by individual contributors they can’t control — to disrupt their game.

Ironically, the culture of privacy also discourages intervention. By highlighting the individual status of each participant and treating their external motivations as private, it’s hard to talk about problems arising from corporate motivations, or to ask participants to report or discuss out-of-band agreements. The high value of contribution is gamed too. A culture of “do-ocracy” — where those who can contribute are favoured, and those who can’t or won’t instead step back and disengage — leads to people who identify these subtle problems either staying quiet or even being pushed aside in the community.

Apache has taken steps to deal with this, by instituting its Incubator Project. The Incubator is a “container” into which new projects are placed under the supervision of experienced mentors. In addition to helping incoming projects adapt to the Apache Way, they can also be scrutinised for issues before they become an autonomous party of the larger community. It’s a device any large or general-purpose open source community should consider emulating. Even so, the ability to “game” the privacy/transparency dynamic remains. It’s inevitable — any system contains within it the game that will eventually exploit it. The only defence is a diverse, engaged and empowered community that’s willing to call foul — something Apache also thankfully has!

Open source business models: Open core is bad for you

We’ve considered types of community, and the disposition of participants in open source communities. The next topic to consider is the structure of the business models used by open source community participants. There are a wide range of open source business models, but to generalise wildly, they can all be distilled into one general structure: satisfy your customers’ scarcity from your abundance. The key to a good open source business model is to ensure that the scarcity is genuine and not manufactured, and that the abundance is truly yours!

The topic of business models around open source software is huge and attracts controversy, as the Wikipedia article discussing it demonstrates. Researcher Carlo Daffera has an excellent series on the subject which I recommend. I couldn’t possibly consider every business model that might involve open source, but there’s one that provides a useful case study. The open core business model has been feted as the new default “open source business model,” especially by venture capitalists; so much so that the presence of an open core model is a great indicator of VC funding behind a new company.

But I assert it does not deliver and sustain the principle that provides cost savings and flexibility to the customer — software freedom. As a consequence, businesses that live or die by open core risk the fate of Compiere ERP — which, being undermined by a community fork of its own code, effectively went bust — unless they can manage the incredibly delicate balance their customers will discover they demand.

The idea of open core is simple enough. Here’s a modified quote from a business leader in a company that depends on an open core business-model. He said:

“We deliver a fully functional production with our community edition. You can download it under a GPL v3 license. But, additionally, we provide enterprise features only if you pay for them. It’s open core.”

While that sounds reasonable, there are important unstated issues in that approach. Before you decide to commit yourself to such an approach — either as a software supplier or a software consumer — it’s important to understand those issues and ensure the decision you’re taking is made in the light of that understanding.

A game on software freedom

All systems have loopholes. As we found in the previous section, any system contains within itself by implication the game that will exploit it. Exploiting the loopholes is almost always an unintended consequence of the system. That’s as true of open source as it is of anything else. The open core model exploits open source and is a game on software freedom. The fact the game is played does not invalidate software freedom, but it suggests we may need to revisit definitions and make this particular game harder to play.

Open core is a game on rather than a valid expression of software freedom, because it does not cultivate software freedom for the software user. In an open core business, there is a core package that is open source and which delivers basic functions. That package can be used freely under the terms of an open source licence, and there’s no issue involved at this point — as Andrew Lampitt, who coined the term “open core,” asserts:

“… the customers enjoy, in a way, guarantee of liberty from the vendor; if things go sideways for the vendor, there is a sort of a ‘guaranteed escrow’ of the source code.”

But to use the package effectively in production, a business probably won’t find the functions of the core package sufficient, even in the (usual) case of the core package being highly capable. They will find the core package largely ineffective without certain “extras,” and these are only available in the “enterprise version” of the package, which is not open source.

To use those features, you are forced to be a customer only of the sponsoring company. There’s no alternative, no way to do it yourself if the value delivered doesn’t justify the expense involved or if you are time-rich and cash-poor. Worse, using the package locks you in to the supplier. If they prove a bad choice as a supplier, or if your business needs change, you have no real choice beyond “take it or leave it.” In many cases, ending your subscription with the supplier will mean losing your rights to use the enterprise version all together.

Hiding the problem in plain sight

It is typical of open core apologists to skip this point entirely, preferring to put opposition such as mine down to religious fundamentalism and trying to hide the problems in plain sight. They confuse “dual licensing” (which can respect customer liberties if the vendor chooses to make it so) with open core (which can’t) without observing dual licenses are not applied to the closed add-ons most “open core” vendors sell.

They speak of “vibrant communities” but in most cases those are user communities, not communities of co-developers offering an alternative to the closed add-ons. They speak of “lively ecosystems” without noting that most open core vendors use their power over the code to try to ensure those ecosystems are built of partners, not alternatives. Open core is also not a guaranteed win, even for a great system like Compiere ERP. According to Compiere founder Jorg Janke:

“Compiere certainly did not fail due to its technology. It failed due to lack of sales and marketing expertise, execution and the wrong bet to ‘upgrade’ open source minded partners and customers to a traditional, commercial model. I think that the Commercial Open Source model is still valid, but Compiere overstepped the balance between proprietary and open product components.”

This is not to say it’s never OK to wrap additional services around an open source project. In different ways, both the GPL-ish and BSD-ish wings of the open source movement depend on that ability.

I asked a former president of the Apache Software Foundation how he viewed open core. He replied:

“Open core — as it is practiced within Apache — is that the functionality which makes the product compelling to its users is freely available and released through the auspices of the foundation. It is critical that the open offering be able to stand on its own and address the needs of the community or it will not be attractive enough to merit a diverse community which adheres to Apache’s standards. Since the open offering is released under a permissive license and developed in a transparent manner, the various collaborators within the Apache community — many of which have significant revenue streams or venture capital backing — are able to offer their own products which incorporate and complement the open option.”

Yes, the whole premise of Apache was that its founders could share the various Apache projects as a “core” for other work, but in every case the Apache project is complete and sufficient for deployment at an enterprise level including “the functionality which makes the product compelling to its users.”

As a well-known expert has said, some people have money and need time, and others have time and want money. Open source allows both to participate freely; open core does not.

Open core harms software users

To generalize the analysis, the problem with open core is that instead of delivering and cultivating software freedom, the open core business model induces dependency on closed software and lock-in to a vendor. Open core businesses hope that you will be willing to trade your freedom for tangible short-term benefits or even just for “shiny.”

They stand to benefit massively from having you locked-in; they want to trade your freedom for their profit. So while open core businesses truthfully say they are sustaining open source core software, their actual business is nothing to do with open source. It’s a bait-and-switch, wrapping the same old lock-in in the flag of open source and hoping you won’t notice.

This is not just a philosophical game. “Software freedom” may sound abstract, but it is the system of thinking behind the very practical and tangible benefits that have drawn vast numbers of businesses to use open source. As I have written previously, the four freedoms (to use, study, modify and distribute the software without restriction) have created a vast market by enabling cost savings and flexibility. So a business model that cultivates a casual disregard for and discarding of those liberties while pretending otherwise deserves to be challenged.

If you are a software vendor, please respect your customers’ freedoms. Help them see that they are worth paying for. If you choose not to, remember that just because the business model you have chosen demands that you withhold software freedom from your customers, that doesn’t mean the only way to do business around open source involves doing the same. Don’t hide a desire for control that you can artificially exploit behind apparently good words about deserving to make a profit.

If you’re an enterprise software consumer, it’s crucial you cultivate your degrees of freedom. They are the source of your ability to respond to changed market conditions; to negotiate with suppliers strongly because you always have choices that allow you to walk away from any deal; to hire staff from a free market beyond any vendors’ control; to expect constant new innovation because the market in which you purchase remains competitive. Ultimately, to save money by surrendering your freedoms will mean you never save money again.

Copyright accumulation?

This leads inevitably to the controversial subject of copyright accumulation in open source communities. My position is that it is a rarely-needed and exceptional tool that should be avoided unless essential, because of the negative effects it has on the dynamics of open source communities. In the rare cases they are needed, they should accumulate copyright into the hands of a legal entity that embodies the interests of the whole community-of-communities gathered around the software commons in question. It should not be for the benefit of just one company. That creates an inequity that will poison the community.

All the same, I’ve heard prominent commentators assert that a software company that wants to promote open source has to use copyright accumulation if it wants to make money. While that sounds superficially reasonable, I contend that statement is a circular argument. If you’ve chosen to build your business around a model that requires the accumulation of copyright, then you will need a contributor agreement that makes it happen. But it’s a matter of choice whether you use a business model like that, or whether you pick another business model that does not demand copyright accumulation. As an entrepreneur, one has a choice in this matter.

Scarcity

Ultimately any business runs by meeting a scarcity faced by their customer with an abundance they have themselves, and creating profit from the resulting win-win. In the software business, scarcity is harder to identify. While the world was still operating on the hub-and-spoke topology inherited from the Industrial Revolution, the artificial creation of scarcity by licensing copyright restrictively worked well as a payment gateway. But in today’s meshed society, where the ability to connect direct means mediation is now artificial interference, trying to charge for the right-to-use software appears to the Internet as damage and is routed around. It also creates an insurmountable barrier for communities.

I can understand why a long-established corporation trying to come to terms with open source in the early stages of the road to freedom might think they need a contributor agreement. But it’s churlish and contrarian to start a new business today that relies for its revenue on the artificial scarcity of yesterday. There are plenty of scarcities to monetise — cloud infrastructure, operations skill, stack integration, jurisdictional differences and many more — without the need to try to apply a gateway to open source software. The requirement for a copyright accumulation in order to create an artificial scarcity is the genetic marker for a desire for control, and in the meshed society that the Internet is creating, that’s a sign of damage that needs working around.

Participation agreements

Just to be completely clear, this warning against copyright assignment is not a prohibition of having participant agreements that confirm the community norms and ensure every participant has recorded their agreement in a consistent way. Participant agreements can have a variety of uses. For example, they may set default licensing terms when none are stated, and may indicate a commitment to originality in all contributions. These sorts of agreements are common enough.

Even they impose a barrier to participation for some potential community members; any developer who has to get permission to proceed from his employer’s general counsel will need to be highly motivated in order to do so. You need to make sure you’ve done the cost-benefit analysis in a way that includes an allowance for the extra community-building effort that will be needed to overcome each barrier to participation you’ve deemed essential.

One of the needs that drives some communities to copyright accumulation is the desire to protect against a future need for license change. If the copyrights for contributions are left in the hands of their original contributors, getting their permission to change the license at a later date could be a nightmare. But copyright accumulation isn’t the only tool available. You could use a license like the Apache License version 2, which grants rights so broad that the addition of another license with different but complementary terms is very easy.

Alternatively, you could select a “plus license” for the project, which includes language permitting relicensing under a later revision of the same license. This “license upgrade” capability covers most valid cases where a community might want to relicense. For projects wanting file-level copyleft (“weak copyleft”) the Mozilla Public License version 2 is the best choice at present. Projects wanting a strong copyleft license may want to use the GNU General Public License version 3, or may prefer to license under version 2 using the .”.. or any later version” language.

Whose freedom?

In designing a new business, the ultimate diagnostic is who is left with the benefits of software freedom; you or you and your customers? The “bubble” of new companies starting and gaining funding based on business models that subvert open source by “dual licensing” and “open core” are effectively over. The branding of hot startups can no longer rely on smoke-and-mirrors tricks of terminology relating to open source because too many people are familiar with the every-day reality of software freedom. And communities are wising up to the hazards of copyright accumulation.

Conclusion: Trade control for influence

In each of these examples of how enterprises collaborate across communities, there’s a common thread running through all the best practices. In communities, when we seek greater control, unless it’s control that’s for the overall good of the community and granted with the full consent of the community, there is a great risk it will backfire. The controversies around the Hudson/Jenkins projects and the OpenOffice.org/LibreOffice projects show the damage that can result.

Instead, a wiser strategy is in each case to seek greater influence over the direction each community chooses for itself. Just as a design principle of the Internet was to route around damage, so open source communities do the same. The open source licenses under which they operate always allow anyone to take the code elsewhere and work on it without you — a “fork.” If they’re justified in doing so, one or more layers of the community will go with them.

Maybe you’re from a rich, powerful corporation that can use its relationships with partners to simulate an open source community in spite of the fork. But why do that? Instead, live and work as a supporter of transparency and privacy. Avoid private agreements that make other community members behave in ways that subvert that transparency. Develop code in the open. Trade with your customers on the value you can deliver to them rather than on the control you are able to gain over them.

As you do this, your influence in the community will grow strong. Influence allows you to steer community decisions because other participants trust and respect you. It makes other community members support and defend you against challengers. It is the basis for successful business in the open source age. Ultimately, your best community collaboration strategy is to trade control for influence.

Filmmaker Pledges to Live Open Source for a Year

It's one thing to like open source, but it's another thing to live open source. Sam Muirhead, a 28-year old filmmaker who lives in Berlin, is making headlines for an unusual pledge he has made: He has sworn that beginning August 1st, he will spend one year living totally open source. And he doesn't just mean he will use open source technology. He means that his beer, the paper he uses--everything he uses--will be open source.



Muirhead will make his own open source shoes, jeans, toothbrush and furniture (and release the designs for others). He’ll be using open source educational methods to learn Turkish, avoiding food grown from copyrighted seed strains, and abandoning Apple software.

Friday, July 13, 2012

Open Source Opens the Door to Women


Get everyone who works on open-source software together and put them in a little room in your brain. Now take a look around at what you just created. They’re smart. They come from all different countries and educational backgrounds, but it’s a stag party in there. They’re almost all men.



“It’s like going to a party where you know no one. That’s not a party you want to be at,” says Maírín Duffy, a blogger and senior interaction designer at Red Hat in Boston. Duffy is one of the few women who have shrugged off intimidation and walked right into the open-source community. Not many others have followed.

Fortunately, open-source project leaders are beginning to realize that if they want women to participate, they will have to fling the doors wide open. And there are now more ways than ever for women to get involved and to find community support.

A 2002 survey found that women comprised a paltry 1.2 percent of all open-source programmers. Considering that involvement with proprietary software is much higher—around 28 percent are women—it’s clear that many who possess the skills needed to work on open-source projects simply aren’t doing so.

And it may be hurting their careers.

Working on open-source projects is a clear indication to software developers that you write code because you love it, and nearly half of employers say that it benefits a job candidate to have some experience, according to a 2005 survey.

For a while, people assumed that if women weren’t joining in, it’s because they just didn’t want to.

GNOME, a project that develops Linux-compatible desktop applications, was one of the first groups to test this theory. In 2006, they participated in the Google Summer of Code, which connects student developers with open-source projects and then funds the work.

GNOME called for applications and got back 181, none of which were from a woman. They quickly threw together a second outreach effort, baiting the hook specifically for women.

“This was a trailblazing thing,” says Marina Zhurakhinskaya, another Red Hat engineer, who now directs outreach for GNOME. “They said if we just reach out to women, we will get interest in working on the GNOME desktop.”

In the end, 100 women applied and six were accepted.

“Because women did not see others around them doing it, they just thought, well this is just too intimidating. This is a guy’s thing,” Zhurakhinskaya says. “But when they see that women are welcomed on a project, they are excited about it and think it’s a great community to be a part of.”

In the years that followed, GNOME pulled back on the effort and the numbers of participating women plummeted again. The trend has convinced Zhurakhinskaya that efforts to attract females will have to continue.

Under her guidance, GNOME has put together a mentoring program in which a newcomer—the service is now available to men, too—can get assigned to an established woman in the community who will look at her or his code before presenting it to the group. Mentors also offer general support.

Some of those who went through the program are now mentors themselves. The hope is that, as women enter the community, word-of-mouth will take the place of active recruiting, and more women will be drawn up the ranks through a kind of capillary action.

After all, the whole point of going open source is to break down the barriers that impede innovation and, at least in theory, more diversity means a wider range of ideas swirling around.

“The more chaos you throw into the mix, the more chance you’re going to hit on an awesome idea and run with it,” says blogger and Red Hat designer Duffy.

Perhaps this is why other projects have taken the GNOME model and run with it. The Debian Project now has its own mentoring program, and Ubuntu has put together a mailing list, a forum and a blog specifically for female initiates.

If you’re a woman looking to get into open-source programming and you’ve been hanging just outside the door, know this: it’s still mostly men at the party, but now you don’t have to go it alone.