..commercial development, large or small, by its very nature brings something else to the table that open source doesn't, and that is a constant drive to work on the product without distraction or interruption. It does this by virtue of funding the development.
Today, the most successful Open Source software generally has commercially funded development to ensure the constant drive of which you speak. Community development is still a huge part, but at least one lead developer needs to be paid to work full time. The question is not "can you make money doing OSS," but rather, "what's the best way to make money doing OSS in a particular case?"
Let me toss out an example: I had never heard of your company or its product before your post. $99 is pretty reasonable, but if I pay for a piece of software that I'll personally use only on occasion, I want to see some long term benefits. For instance, I'd gladly pay $99 for your software if it would be released as GPL after reaching some sales goal.. say, $250,000 or whatever it's worth to you. (heck, I'd advertise for you to help you get there!) Right now, Gimp is clumsy but it basically meets my needs. Photoshop is way too expensive. Also, I like the fact that I can use/teach Gimp for free in educational settings. (deploy it at no cost on every machine and give it away on CDs for students/teachers) But I do want something better than Gimp and I'm willing to pay for it as long as it will be unshackled at some point. "But isn't that giving away the farm?" you say. Not if you do it right. Think of it as cheap, effective, "viral" marketing. First, you get thousands of customers from the Slashdot publicity alone because you're doing something new. Eventually the product becomes Open Source and now you've got millions of people using it because it blows away Gimp. Those millions are now potential customers if you provide something they want beyond the Free version. Maybe sell a version 2.0 and release it as GPL after reaching another sales criteria. Maybe hire somebody to write good documentation / books and sell them using the same model. Maybe sell plugins like companies do for Photoshop. Maybe do custom development and support contracts for big graphics houses. Maybe use a "feature bounty" system where users can pool money behind features they want to see developed next. Maybe you can even make enough money on support services alone (but don't put all eggs in this basket!) The possibilities are endless once you've got enough publicity.
Can Open Source and Commercial Software Coexist? Yes.
For all the obviousness of the answer, most folks here aren't really grasping the most important reason why the answer is Yes: there's absolutely nothing saying that software can't be Open Source AND commercial at the same time. The real problem is that not enough developers of end user Open Source software have stopped to think, "Hey, this is a huge business opportunity." Seriously.. How many semi-satisfied Gimp users would be willing to collectively pay for rapid development of much needed features if there was a time-frame guarantee? Most people are unwilling to donate, but they ARE willing to pay for something they really want. Call that whatever you want, but it's reality. Build it and they will come; sell it and they will come faster. OK, Gimp is an overused example, but apply the same principle to every popular piece of end-user OSS. Then sit back and watch the real OSS revolution begin now that there's several times as much money on the table.
The world absolutely needs commercial software. It does not absolutely need proprietary commercial software.
Why on earth would anybody want to go back to centralized computing? It simply won't happen; desktop machines are far too powerful to drop, let alone the frail networking one must depend on with this scheme.... Further, who will give up total control of their apps? What if you want to work where there is no net access?
Centralized computing doesn't have to mean giving up control or putting applications out on the public internet via hosted services. A more likely scenario in the next 10 years is that businesses and home users will use a multitude of both thin and thick client devices to access local, personally-owned servers that run a new generation of rich web applications. When users are away from the home/business, they will be able to access the apps and data remotely via whatever wireless internet technologies are available at the time. This is a bonus of web apps. But the apps will be 100% available when they are most critical -- locally.
Oh.. and the future of Open Source? This is it. Linux and friends may never take over the PC desktop, but they will surely help to obsolete it altogether.
..because, ultimately, FOSS is not developed so companies can build new business models around it, but rather so that users will be able to scratch their own itches in the best possible way.
The only problem is that not enough "users" are scratching their itches while in the process of building business models around FOSS. Open Source needs way more commercialization to truly succeed and revolutionize the industry. (When I say commercialization, think thousands of quality small/medium-sized FOSS companies..) Every major project needs to be commercialized so that the vast majority of FOSS developers can be paid to work full time on what they love -- and therefore make much faster progress. We also need more commercial FOSS projects that "move up the stack" to all-important business software. (sidenote: they need to use Java, not hack-job scripting languages. It's all about the right tool for the job at hand!) Business computing drives the industry, not home desktops. If you conquer business computing, everything else follows. The biggest factor in business computing on any platform is the availability of quality, real-world applications. Of course this has little to do with Linux anyhow. Implemented properly, business software makes desktop platforms irrelevant through use of modern web (esp. browser) technologies. Many people are fussing about how there are too many Linux distros, desktop environments, etc. but meanwhile they're completely missing the point that Open Source will only succeed when it consistently meets real world business needs. Again, all the rest follow.
We just have to get people using it.
More precisely, we just have to get businesses using it. But it's not quite that simple because businesses are too dependant on MS Office and a boat-load of ugly, custom "point solutions" which don't work well but get the job done if you hammer on them long enough.
What we need are modern Open Source web apps written in Java (not PHP, Perl, or Python) that target real business needs and are modular enough to be used in diverse situations. We need modular but easily integrated solutions. We need to replace MS Office not only with OpenOffice but with web-based document production systems that eschew the whole concept of "document files" that combine content, formatting, and style. Innovative business software is the killer app of Open Source -- not a perfect Linux desktop environment with perfect application knock-offs of all the old-fashioned MS stuff.
..the fact that operating system acceptance begins in the workplace and filters down from there.
Precisely correct. The average consumer buys a computer like any other appliance. It lasts for about 3-5 years and then they throw it out and buy a new one. (many don't even care or know how to save old data unless it's photos or a few special documents thrown on a CD) It is mostly useless to try to convert these users to Linux. The best thing to do is get them using Firefox, Thunderbird, OpenOffice, Gaim, Gimp, etc. and hope that the next time around, Dell or HP will be shipping Linux PCs instead. And how will that happen? Workplace acceptance of course!
Linux really needs (and is getting) some heavy-duty office/business applications and functionality.
Let me spell it out even clearer: rich-web integrated applications written with modern Java tools. Think AJAX / SVG / XUL on the user interface side and then consider: Are desktop platforms still relevant today? (cue crickets chirping) Have this business software be commercially-supported Open Source and Linux will quickly rise to the top in the corporate world as simply the cheapest desktop platform that runs the best web browser(s).
You have these three things, and you could turn quite a few companies to linux in their next upgrade cycle.
You can simultaneously solve all three of these problems efficiently and effectively with modern web applications. Web apps are the path of least resistance (no need to overhaul the whole IT infrastructure at once) AND they're the easiest solution from a development / administrative perspective (no need to hastle with dozens of complex client/server technologies). And of course there are other benefits like seemless remote access, simpler desktops, etc. With regards to document management, try to think in terms of web-driven document production rather than management of standalone documents produced by a standard word processor.
#3 is going to be difficult to pull off in the FOSS style, as it is a lot more than just programming that goes into it, it needs to be updated for new tax tables, and thouroughly tested
Definitely a challenge.. However, many large organizations do this sort of work in house to begin with. It's not inconceivable that a successful and professional OSS project could rally the support of Fortune 500 IT teams to keep this sort of software up to date and thoroughly tested/verified.
What are the "solutions" you talk about? Every time I see that word it makes me think of Dilbert. Managementspeak. What is a "solution"? Will MS be making these "solutions"? Should we go ahead and make them first and better?
My definition of "solution" in this context is basically "a combination of technologies that properly fulfills a need." Of course, one man's solution is another man's raw material. If all you need is a simple standalone SMTP server, Postfix may be a "solution." But if you are a typical business that needs a complete email and groupware system, one "solution" may be Postfix + Cyrus-IMAP + Amavis + Spamassassin + PostgresQL + LDAP + Apache w/WebDav + Tomcat + Novell's OpenXChange + OpenXChange Outlook Connector. That's an enormous amount of raw material to put together to meet a need, hence creating a "solution" for the customer. Most consultants and IT administrators go with the path of least resistance and just install MS Exchange Server. (which is quite inferior IMO, but it is much easier to install)
Now, imagine if somebody put together a free Linux distro (perhaps a Debian derivative) with all those raw materials pre-configured to work together and with an auto-update mechanism. Sell printed documentation and priority support services. I bet people would switch away from MS Exchange in droves. OK.. but take it a step further. OpenXChange is nice, but it doesn't go far enough. Suppose you can provide the groupware power of OpenXChange integrated with most of the other IT needs of an organization -- ERP/CRM database, content/document management, etc. Each component is modular, usable seperately, yet capable of being combined in a way that enhances the whole user experience through automation and fluid data exchange. (whew! avoided using the word "synergy") Now that is a solution.
Which, imho, is one of the two problems with the OSS business desktop. Gnome and KDE are great desktops, Linux has a long pedigree of network interoperatiblity, but it is really nothing more than a chain of islands, each doing its own thing. There is not a large network collaboration software for linux that takes care of all of the needs of business users. You can cobble the parts together, but if developers don't control all aspects of the equation, it makes things difficult.
This is without question the biggest reason why OSS is not taking off in the business world. Businesses want solutions, not raw materials. Even MS is having to move "up the stack" to keep customers coming back for more. They know full well that standalone OS'es and office suites are a losing battle. Their own customers see no reason to upgrade and OO.org is making progress. As a result, they're moving up the stack to complete business solutions with server side components. That's what all this.NET and Office 12 XML stuff is really about. The problem is that nobody in the OSS world seems to have realized that the carpet is about to be yanked out from under us. It won't matter if Linux and OpenOffice are perfect equivalents to standalone Windows and Office because businesses will be using.NET to integrate all the new MS tools into complete solutions that are far more powerful. Hope is not lost, but the OSS community needs a massive change in direction. We're stuck here because too many fools followed MS's taillights instead of innovating past the crappy design paradigms of yesteryear "killer app" business software.
So what we need to do is leapfrog ahead of MS's game. It would be very easy for the OpenOffice.org folks to follow MS's lead and start creating server components,.NET and Java tie-ins, etc. But that strategy will never get anywhere but second place. We need to do something more dramatic.. something that eschews prior assumptions and completely changes the business software paradigm. Microsoft's strength is their own weakness: they fully rely on the importance of the desktop as a platform. And this is where we can cut them off at the turn -- by moving to a new generation of desktop-platform-neutral, rich-web applications that largely make operating system and office suite choice irrelevant. Forget word processing and spreadsheets altogether.. there are better ways to produce and manage content today. Forget standalone groupware software. Forget standalone enterprise databases. Integrate everything through the web with a unified UI but a fully modular architecture! What I'm talking about is a huge task, but it's the best option we have at this point. It's the best option for Open Source and it's the best for the future of IT. Unlike MS, we are in a unique position of not caring about how much we rock the boat. Let the breakneck innovation begin!:)
The higher-ups are attracted to the bells and whistles of Exchange Server and the familiarity of MS Windows. We have purchased many thousands of dollars of software which would not move over. Moreover, the loss of productivity to retraint our entire staff (keep in mind that I work at a church) would be devastating.
Most churches, NPO's, and small schools are in a lousy position today with regards to IT. They want to move forward, but they are entangled with a hodge-podge of expensive proprietary solutions. They don't have the resources or expertise to experiment with new approaches either. What is really needed is a complete Open Source web-based solution that integrates all basic functionality needed by these organizations -- email/groupware, membership or student records database, accounting / ERP, document production and management (including public web), etc. The potential for automation would be incredible. This is the vision of the InfoCentral project, which I lead. We are just getting back off the ground after a switch to Java, but if you're interested, check us out. http://www.infocentral.org/ More details about our future plans will be posted shortly.
In the meantime, also check out the Open-XChange project (started by Novell/SuSE). It's a complete email/groupware server solution that uses entirely open protocols, is written in Java, has a far superior web interface than Exchange2003, and even has a MS Outlook connector for those who are paranoid of immediate change. Commercial support is also available. http://mirror.open-xchange.org/
..commercial development, large or small, by its very nature brings something else to the table that open source doesn't, and that is a constant drive to work on the product without distraction or interruption. It does this by virtue of funding the development.
Today, the most successful Open Source software generally has commercially funded development to ensure the constant drive of which you speak. Community development is still a huge part, but at least one lead developer needs to be paid to work full time. The question is not "can you make money doing OSS," but rather, "what's the best way to make money doing OSS in a particular case?"
Let me toss out an example: I had never heard of your company or its product before your post. $99 is pretty reasonable, but if I pay for a piece of software that I'll personally use only on occasion, I want to see some long term benefits. For instance, I'd gladly pay $99 for your software if it would be released as GPL after reaching some sales goal.. say, $250,000 or whatever it's worth to you. (heck, I'd advertise for you to help you get there!) Right now, Gimp is clumsy but it basically meets my needs. Photoshop is way too expensive. Also, I like the fact that I can use/teach Gimp for free in educational settings. (deploy it at no cost on every machine and give it away on CDs for students/teachers) But I do want something better than Gimp and I'm willing to pay for it as long as it will be unshackled at some point. "But isn't that giving away the farm?" you say. Not if you do it right. Think of it as cheap, effective, "viral" marketing. First, you get thousands of customers from the Slashdot publicity alone because you're doing something new. Eventually the product becomes Open Source and now you've got millions of people using it because it blows away Gimp. Those millions are now potential customers if you provide something they want beyond the Free version. Maybe sell a version 2.0 and release it as GPL after reaching another sales criteria. Maybe hire somebody to write good documentation / books and sell them using the same model. Maybe sell plugins like companies do for Photoshop. Maybe do custom development and support contracts for big graphics houses. Maybe use a "feature bounty" system where users can pool money behind features they want to see developed next. Maybe you can even make enough money on support services alone (but don't put all eggs in this basket!) The possibilities are endless once you've got enough publicity.
Can Open Source and Commercial Software Coexist? Yes.
For all the obviousness of the answer, most folks here aren't really grasping the most important reason why the answer is Yes: there's absolutely nothing saying that software can't be Open Source AND commercial at the same time. The real problem is that not enough developers of end user Open Source software have stopped to think, "Hey, this is a huge business opportunity." Seriously.. How many semi-satisfied Gimp users would be willing to collectively pay for rapid development of much needed features if there was a time-frame guarantee? Most people are unwilling to donate, but they ARE willing to pay for something they really want. Call that whatever you want, but it's reality. Build it and they will come; sell it and they will come faster. OK, Gimp is an overused example, but apply the same principle to every popular piece of end-user OSS. Then sit back and watch the real OSS revolution begin now that there's several times as much money on the table.
The world absolutely needs commercial software. It does not absolutely need proprietary commercial software.
Why on earth would anybody want to go back to centralized computing? It simply won't happen; desktop machines are far too powerful to drop, let alone the frail networking one must depend on with this scheme. ... Further, who will give up total control of their apps? What if you want to work where there is no net access?
Centralized computing doesn't have to mean giving up control or putting applications out on the public internet via hosted services. A more likely scenario in the next 10 years is that businesses and home users will use a multitude of both thin and thick client devices to access local, personally-owned servers that run a new generation of rich web applications. When users are away from the home/business, they will be able to access the apps and data remotely via whatever wireless internet technologies are available at the time. This is a bonus of web apps. But the apps will be 100% available when they are most critical -- locally.
Oh.. and the future of Open Source? This is it. Linux and friends may never take over the PC desktop, but they will surely help to obsolete it altogether.
..because, ultimately, FOSS is not developed so companies can build new business models around it, but rather so that users will be able to scratch their own itches in the best possible way.
The only problem is that not enough "users" are scratching their itches while in the process of building business models around FOSS. Open Source needs way more commercialization to truly succeed and revolutionize the industry. (When I say commercialization, think thousands of quality small/medium-sized FOSS companies..) Every major project needs to be commercialized so that the vast majority of FOSS developers can be paid to work full time on what they love -- and therefore make much faster progress. We also need more commercial FOSS projects that "move up the stack" to all-important business software. (sidenote: they need to use Java, not hack-job scripting languages. It's all about the right tool for the job at hand!) Business computing drives the industry, not home desktops. If you conquer business computing, everything else follows. The biggest factor in business computing on any platform is the availability of quality, real-world applications. Of course this has little to do with Linux anyhow. Implemented properly, business software makes desktop platforms irrelevant through use of modern web (esp. browser) technologies. Many people are fussing about how there are too many Linux distros, desktop environments, etc. but meanwhile they're completely missing the point that Open Source will only succeed when it consistently meets real world business needs. Again, all the rest follow.
We just have to get people using it.
More precisely, we just have to get businesses using it. But it's not quite that simple because businesses are too dependant on MS Office and a boat-load of ugly, custom "point solutions" which don't work well but get the job done if you hammer on them long enough.
What we need are modern Open Source web apps written in Java (not PHP, Perl, or Python) that target real business needs and are modular enough to be used in diverse situations. We need modular but easily integrated solutions. We need to replace MS Office not only with OpenOffice but with web-based document production systems that eschew the whole concept of "document files" that combine content, formatting, and style. Innovative business software is the killer app of Open Source -- not a perfect Linux desktop environment with perfect application knock-offs of all the old-fashioned MS stuff.
..the fact that operating system acceptance begins in the workplace and filters down from there.
Precisely correct. The average consumer buys a computer like any other appliance. It lasts for about 3-5 years and then they throw it out and buy a new one. (many don't even care or know how to save old data unless it's photos or a few special documents thrown on a CD) It is mostly useless to try to convert these users to Linux. The best thing to do is get them using Firefox, Thunderbird, OpenOffice, Gaim, Gimp, etc. and hope that the next time around, Dell or HP will be shipping Linux PCs instead. And how will that happen? Workplace acceptance of course!
Linux really needs (and is getting) some heavy-duty office/business applications and functionality.
Let me spell it out even clearer: rich-web integrated applications written with modern Java tools. Think AJAX / SVG / XUL on the user interface side and then consider: Are desktop platforms still relevant today? (cue crickets chirping) Have this business software be commercially-supported Open Source and Linux will quickly rise to the top in the corporate world as simply the cheapest desktop platform that runs the best web browser(s).
You have these three things, and you could turn quite a few companies to linux in their next upgrade cycle.
You can simultaneously solve all three of these problems efficiently and effectively with modern web applications. Web apps are the path of least resistance (no need to overhaul the whole IT infrastructure at once) AND they're the easiest solution from a development / administrative perspective (no need to hastle with dozens of complex client/server technologies). And of course there are other benefits like seemless remote access, simpler desktops, etc. With regards to document management, try to think in terms of web-driven document production rather than management of standalone documents produced by a standard word processor.
#3 is going to be difficult to pull off in the FOSS style, as it is a lot more than just programming that goes into it, it needs to be updated for new tax tables, and thouroughly tested
Definitely a challenge.. However, many large organizations do this sort of work in house to begin with. It's not inconceivable that a successful and professional OSS project could rally the support of Fortune 500 IT teams to keep this sort of software up to date and thoroughly tested/verified.
What are the "solutions" you talk about? Every time I see that word it makes me think of Dilbert. Managementspeak. What is a "solution"? Will MS be making these "solutions"? Should we go ahead and make them first and better?
My definition of "solution" in this context is basically "a combination of technologies that properly fulfills a need." Of course, one man's solution is another man's raw material. If all you need is a simple standalone SMTP server, Postfix may be a "solution." But if you are a typical business that needs a complete email and groupware system, one "solution" may be Postfix + Cyrus-IMAP + Amavis + Spamassassin + PostgresQL + LDAP + Apache w/WebDav + Tomcat + Novell's OpenXChange + OpenXChange Outlook Connector. That's an enormous amount of raw material to put together to meet a need, hence creating a "solution" for the customer. Most consultants and IT administrators go with the path of least resistance and just install MS Exchange Server. (which is quite inferior IMO, but it is much easier to install)
Now, imagine if somebody put together a free Linux distro (perhaps a Debian derivative) with all those raw materials pre-configured to work together and with an auto-update mechanism. Sell printed documentation and priority support services. I bet people would switch away from MS Exchange in droves. OK.. but take it a step further. OpenXChange is nice, but it doesn't go far enough. Suppose you can provide the groupware power of OpenXChange integrated with most of the other IT needs of an organization -- ERP/CRM database, content/document management, etc. Each component is modular, usable seperately, yet capable of being combined in a way that enhances the whole user experience through automation and fluid data exchange. (whew! avoided using the word "synergy") Now that is a solution.
Which, imho, is one of the two problems with the OSS business desktop. Gnome and KDE are great desktops, Linux has a long pedigree of network interoperatiblity, but it is really nothing more than a chain of islands, each doing its own thing. There is not a large network collaboration software for linux that takes care of all of the needs of business users. You can cobble the parts together, but if developers don't control all aspects of the equation, it makes things difficult.
.NET and Office 12 XML stuff is really about. The problem is that nobody in the OSS world seems to have realized that the carpet is about to be yanked out from under us. It won't matter if Linux and OpenOffice are perfect equivalents to standalone Windows and Office because businesses will be using .NET to integrate all the new MS tools into complete solutions that are far more powerful. Hope is not lost, but the OSS community needs a massive change in direction. We're stuck here because too many fools followed MS's taillights instead of innovating past the crappy design paradigms of yesteryear "killer app" business software.
.NET and Java tie-ins, etc. But that strategy will never get anywhere but second place. We need to do something more dramatic.. something that eschews prior assumptions and completely changes the business software paradigm. Microsoft's strength is their own weakness: they fully rely on the importance of the desktop as a platform. And this is where we can cut them off at the turn -- by moving to a new generation of desktop-platform-neutral, rich-web applications that largely make operating system and office suite choice irrelevant. Forget word processing and spreadsheets altogether.. there are better ways to produce and manage content today. Forget standalone groupware software. Forget standalone enterprise databases. Integrate everything through the web with a unified UI but a fully modular architecture! What I'm talking about is a huge task, but it's the best option we have at this point. It's the best option for Open Source and it's the best for the future of IT. Unlike MS, we are in a unique position of not caring about how much we rock the boat. Let the breakneck innovation begin! :)
This is without question the biggest reason why OSS is not taking off in the business world. Businesses want solutions, not raw materials. Even MS is having to move "up the stack" to keep customers coming back for more. They know full well that standalone OS'es and office suites are a losing battle. Their own customers see no reason to upgrade and OO.org is making progress. As a result, they're moving up the stack to complete business solutions with server side components. That's what all this
So what we need to do is leapfrog ahead of MS's game. It would be very easy for the OpenOffice.org folks to follow MS's lead and start creating server components,
The higher-ups are attracted to the bells and whistles of Exchange Server and the familiarity of MS Windows. We have purchased many thousands of dollars of software which would not move over. Moreover, the loss of productivity to retraint our entire staff (keep in mind that I work at a church) would be devastating.
Most churches, NPO's, and small schools are in a lousy position today with regards to IT. They want to move forward, but they are entangled with a hodge-podge of expensive proprietary solutions. They don't have the resources or expertise to experiment with new approaches either. What is really needed is a complete Open Source web-based solution that integrates all basic functionality needed by these organizations -- email/groupware, membership or student records database, accounting / ERP, document production and management (including public web), etc. The potential for automation would be incredible. This is the vision of the InfoCentral project, which I lead. We are just getting back off the ground after a switch to Java, but if you're interested, check us out. http://www.infocentral.org/ More details about our future plans will be posted shortly.
In the meantime, also check out the Open-XChange project (started by Novell/SuSE). It's a complete email/groupware server solution that uses entirely open protocols, is written in Java, has a far superior web interface than Exchange2003, and even has a MS Outlook connector for those who are paranoid of immediate change. Commercial support is also available. http://mirror.open-xchange.org/