Open Source Software and the Cloud

Yesterday someone suggested that I think about taking my software at Print3D Corporation to the cloud and offer it as a service. While this sounds like a splendid idea, it got me wondering. The software that we offer at Print3D is actually free. We make money by building the parts that customers quote and upload using our free software. Currently customers download our free software, install it on their computers, quote their parts and order them. We charge them for the parts and not for our software. Of course, it has cost us to build all that software and will continue to cost us to maintain it but it does not cost us to serve the software to our customers. Once the software is installed on the customer’s computer, it uses the resources of the customer (processing, storage, bandwidth, etc.) and we are basically out of the picture. That is how desktop software has been all along.

But now by taking software onto the cloud, while the cost to the developer to develop and maintain the software remains more or less the same (not sure, I am guessing here), another cost comes into the picture. That of serving it to the end users. And no, here I am not referring to the cloud-side software required to manage clusters of servers (you can get something like Eucalyptus for free). I am referring to the actual servers themselves. To be precise, the money that you need to pay to buy/rent out computing power, storage space, bandwidth, etc.

So while a for-profit company like Print3D may one day actually invest in buying/renting cloud infrastructure and resources, I cannot help but wonder what the open source community will do in the future, if and when everything goes up in the clouds. For argument sake, lets take OpenOffice.org. A note on their web site says that on 28th October 2009, the one hundred millionth person clicked the “Download OpenOffice.org button” since version 3.0 of the software was announced just over a year ago. So at any given moment in time I leave it up to you to imagine how many users all over the world are using OpenOffice. I will also leave it up to you to imagine the kind of cloud computing resources and infrastructure would be required to have all those users running OpenOffice in the cloud and how much all that would cost.

Open source projects are mainly funded by donations and sponsorships. I seriously doubt donations alone would be able to achieve the kind of funding required to take these software solutions onto the cloud. I understand that the cloud is getting cheaper by the day. But just like web hosting, it will come to a point where it stabilizes. And that price point will be anything but free. After all these years I still need to pay good money for my dedicated web server in a server farm because the server itself costs money. It is not abstract like a piece of software that can be duplicated an infinite number of times at no additional cost. I am not only paying for the server hardware but also for all the redundancies associated with it like power backup, bandwidth, the cost of people (administrators) to maintain it and so on and so forth. There is nothing like open source hardware. Hardware costs money. Period.

On the flipside, let’s look at Google Docs. I am not suggesting that Google Docs is anywhere close to OpenOffice.org in terms of features. I am merely bringing attention to the fact that it is like an office suite running in the cloud. The reason it is still running is because there is a company like Google behind it. If OpenOffice.org were to one day run in the cloud, it would need to be backed by people willing to throw bags of money into a paper shredder (not sure whether Oracle would be interested in doing that). Or become heavily ad supported, which is contrary to the very concept of open source software.

The thing which keeps the open source software community going is time, not money. I am referring to the time that developers spend to develop and maintain open source software projects. You do not need a lot of money to run an open source project. And the little that you need can be easily got from donations and sponsorships. What happens when the world starts doing everything on the cloud? Will open source projects miss the bus? Will our governments and educational institutions step in and provide the funds required to take open source projects onto the cloud?

I see things moving in two opposite directions. Today a reader expressed his interest in writing a series on this blog about how he is increasingly using open source software in his business to a point that he hardly pays for any software any more. On the other hand, software vendors are increasingly talking about taking their solutions onto the cloud. So I am wondering which path users will prefer to take in the future – use free open source software and stay off the cloud or pay to use software on the cloud. Of course there is the other alternative which sounds too good to be true – use open source software on the cloud and pay nothing. But then all this is assuming that users will want to use open source software and/or move to the cloud in the first place.

  • Anonymous

    Deelip,
    Open source does not always mean free of cost software. Using cloud does not mean no need of open source software. Cloud brings you cost effectiveness of infrastructure and open source brings cost effectiveness in all other aspects of application, development, licensing, marketing, maintainance etc. Clouds arrival does not mean open source’ departure, you could host open source softwares on cloud too bringing the overall cost much more down while having the same capabilities that a closed source software brings. For example springsource.com
    you might be interested in this post on my site. http://www.oplm.org/creating_private_plm_cloud

    BTY I like your iSeries, I would like to meet you when I visit goa this year, We can discuss ‘iFeni’ 🙂

  • olegshilovitsky

    Deelip, Great topic! I run into the question of Cloud vs. Open Source last year on my blog. My conclusion is that cloud (ondemand, SaaS) is the promising option for smaller companies. However, for bigger companies with IT and dev. resources, Open Source can be a very interesting option to run into. You can take a look on my post and comments – http://plmtwine.com/2009/06/17/future-plm-face-…. Best, Oleg

  • Interesting post there.

  • pbhalesain

    Deelip,
    Open source does not always mean free of cost software. Using cloud does not mean no need of open source software. Cloud brings you cost effectiveness of infrastructure and open source brings cost effectiveness in all other aspects of application, development, licensing, marketing, maintainance etc. Clouds arrival does not mean open source' departure, you could host open source softwares on cloud too bringing the overall cost much more down while having the same capabilities that a closed source software brings. For example springsource.com
    you might be interested in this post on my site. http://www.oplm.org/creating_private_plm_cloud

    BTY I like your iSeries, I would like to meet you when I visit goa this year, We can discuss 'iFeni' 🙂

  • I am simply questioning the feasibility if running an open source software on the cloud due to the hardware cost that is required to serve the software.

    Call me on +91 9822689298 when you end up in Goa. I don’t discuss Feni. I simple consume it. 😉

  • pbhalesain

    There are organizations giving infrastructure as service at a very low
    price. I can give you all the names later but, amazon EC3, racket space,
    gogrid are few. So hardware also shouldnt cost you more. I do not know
    if your software can run on Google Appengine but that is completely free
    with offcourse some limitations (supports only java, python and with
    database limitations )

  • Open source software is simply software done another way, with access to the code. The cloud is essentially a service. If the need arises for the open source companies to compete in this area then they will do it, for a fee. Imagine for example redhat offering hosting their open source stack on the cloud for a fee. That would not be different from what they are doing today: they are offering a service, that includes a license to use their –open source software–.

  • mave,

    You make a good point. Large organized open source companies may be able to take on the challenge of the cloud. But what about the majority of numerous individual and small groups of open source developers. Like the kind of people you see at sourceforge.net. They write and maintain their projects in their free time. They are in no mood to go ahead and offer a service like you suggested.

  • Deelip, that is correct, the problem lies essentially with small teams or individual developers. I dont think that they will have a compeling reason to move to the cloud and you also correct that they will be unable to do so. But why moving to the cloud when they are building a desktop or server app. for the user to download and host themselves? I think they are going to continue and do what they have always done: develloping for their own neds and releasing it as open source for the world to benefit. I dont believe classic server and desktop implementations are going away, especially in small engineering companies for example.

    There is another aspect of it however: the companies selling open source and services, novell and redhat for example may build their own clouds and give a part of them to the community to use, exactly like novell is doing right now with their “build your own Suse linux distro” in susestudio.com. They even let you host the image on their servers. I don't know the business or profit side of it but still it sounds like a great idea, from an open source perspective at least.

    so I think either the ind. developers will not care or some of the OSS companies out there will create infrastructure for the community to use. How and with what profit nobody I think knows.

  • Deelip – Ultimately it all comes down to value like everything else. For sure you want to make it easy to use your service, easier to use than your competitors, so the value proposition lies around that:

    Cost of Hosting Print 3D SaaS, ROI Value:

    * Ease of use – browser based
    * Access – user can access their acct and parts order 24×7
    * Collaboration – if they have an issue with a model they can bring others in to help correct it or tweak it
    * Service – SaaS sure beats having to deal with updates and revs to desktop apps
    * Re-Order – if the part is already online and the user wants to simply re-print it, with or without minor alterations like color or material, much easier done in SaaS environment.

    I'm Sure there's more points but what we've learned is that it all comes down to one thing – convenience.

    Whether we like to admit or not, we are all so time pressed that if someone can give us a simple way to quickly check something off the list of tasks to get onto the next one – we do it. This is how we started handing out our credit cards and doing banking online, was much more convenient than getting in the car, driving downtown, finding parking…etc

    Software and SaaS are going to win simply because of that principal. Sure there are lots of pundits who argue both sides of the ROI discussion but NOBODY will ever take the other side of the ease-of-access-and-use argument because there is none. The moment someone has the choice to jump up on your Print 3D SaaS service, upload the part and order the job vs. “Oh, I'll have to drive into the office tmw, open up my CAD app, save it out as bla format and then use the print 3D app to upload it…” over and toast.

  • marclind

    Think ‘mave’ does a good job of breaking it down: “Open source software is simply software done another way, with access to the code. The cloud is essentially a service.”

    There’s also another thing going on in the discussion that is not being explicitly called out. “Move to the cloud”, “use the cloud” means different things depending on the scenario, stage in software lifecycle, etc. The examples of susestudio.com, Google App Engine, amazon EC3, racket space, gogrid, etc all serve multiple purposes. They have different software stack components available and different cost structures as well. Kind of the big 4 scenarios for me are:

    Can do development in the Cloud – this is what’s going on at sorceforge and susestudio.com, as well as, all the others. Cloud players typically let you do app dev for free because then you’re more likely to use their environment for production operation which costs $$$ (and in some cases you’re locked into using it because of the way your code gets written – happened to a friend of mine with Google App Engine, apparently really easy to get stuck there)

    Can distribute from the Cloud – Downloads of flies & documents directly; nothing magic here, just a place to put the bits so others can get them. It’s basically the other half of what’s going on at sourceforge; Small group of people doing dev on a project and lots of people downloading the bits. People don’t really think about it, but it’s very cost-effective distribution (the project site is free) – as long as not charging, just need a place where people can get it, perfect for open source format

    Can connect to Cloud services – This is really powerful in my opinion. Basically, having an app that draws on info that’s out on the Internet; can think of Shazam on iPhone or in our case, Aras, direct connection to GlobalSpec parts database. There’s more & more info out there being exposed thru APIs that can be queried and analyzed “in the Cloud” then actually used in a local app or enterprise app.

    Can run in the Cloud – This is what all the hype is about and what I think you’re keyed up on.

    Running in the Cloud has gotten really confusing these days… running hosted apps has been going on for years… why all of a sudden is “Cloud” so hot? What’s the big deal? As near as I can tell, it’s really an Architectural shift that’s pushing it at the core… app partitioning in virtualized environments, blah, blah – then brings hardware req’s way down, easier to maintain, spreads across data centers, etc. In turn, because the cost model is significantly different it makes different pricing and delivery costing possible.

    At the end of the day, you and Aftercad Software guy kind of hit the nail on the head – really depends on how people want to use your stuff and how much you charge and can afford to split with the “Cloud infrastructure” provider – and if you gain any advantage by doing it in a cloud/hosted format and how much work is involved to do it.

    Personally, I don’t believe that compute horsepower on the desktop is going away… I do think that Cloud is a really major trend, but I don’t think that the “CAD in the Cloud” offerings are going to get as much uptake as the Major CAD vendors hope anytime soon. Comes down to use case, practicality, etc.

    So, maybe Print 3D is fine in its current structure – hard for me to tell… could sell add-ons that connect to Cloud services, probably easier way to go for now.

    As for open source and Cloud… we believe the open source format is ideally suited for the Cloud trend and all the implications… and that our architecture is the best suited for it as well… I’m at least betting on it 🙂

    MarcL
    http://www.aras.com