PDA

View Full Version : Free software philosophy



gigaSproule
August 21st, 2009, 01:00 AM
I'm confused by the whole free software movement. So, I love the idea of community developed software, but what I don't get, is this. Does creating free software mean you have to give out the source code (gratis or not)? Because surely that would mean that someone could just take it and redistribute it. So if I charged for the software, they could give it out for free without doing any work on it. Surely that is unfair if I plan on making money out of it?

Also, does linux equal free software only in it's philosophy?

JillSwift
August 21st, 2009, 01:18 AM
I'm confused by the whole free software movement. So, I love the idea of community developed software, but what I don't get, is this. Does creating free software mean you have to give out the source code (gratis or not)? Because surely that would mean that someone could just take it and redistribute it. So if I charged for the software, they could give it out for free without doing any work on it. Surely that is unfair if I plan on making money out of it?

Also, does linux equal free software only in it's philosophy?
The term "free" is confusing. It does not necessarily mean "gratis" but always means "open". The point of free software is that it can be modified by others either to improve upon it, or transform it into another useful program.

As a business model, FOSS is not intuitive. Making money directly on the sales of the software isn't where the profit will be for the very reason you mention. Support and customization is the main thrust of the model. I have no idea how successful this model is, but I'm sure someone on these forums has a clue there.

If you prefer to make money simply selling software, then just avoid the GPL or similar licenses (and don't use code that falls under such a license).

Yes
August 21st, 2009, 01:22 AM
Well Red Hat (http://en.wikipedia.org/wiki/Red_Hat) is normally the shining example of how you can make money off of GPL'd software. They've done quite well.

koenn
August 21st, 2009, 02:46 PM
I'm confused by the whole free software movement. So, I love the idea of community developed software, but what I don't get, is this. Does creating free software mean you have to give out the source code (gratis or not)? Because surely that would mean that someone could just take it and redistribute it. So if I charged for the software, they could give it out for free without doing any work on it. Surely that is unfair if I plan on making money out of it?

Also, does linux equal free software only in it's philosophy?
yes, free software means it can be pretty difficylt to mmake money by merely 'selling' it. So if you just happen to write this one little program and expect it to generate an income for you, hm ...

Although that also goes, to some extent, for proprietary software as well : if you see the efforts software firms go through, legal, technological, ..., to make people buy their software in stead of copying it from someone else, ...


This will tell you more:
http://www.psychocats.net/ubuntucat/how-does-open-source-make-money/


The bigger picture is that free/open source software is changing the economics of 'software' : it makes software a commodity, i.e. something that's available in huge quantities and at low price. The money is not made in selling the stuff, but using it to produce things that can be sold - by "adding value". This can be virtually anything. A tsimple example : hardware manufacturers that sell hardware, but need some software to drive their hardware or create management tools for it (lots of routers, switches, TV settop boxes, firewall appliances, ... do this. Apple does this, more or less, with the Mac); more complex : your firm sells expertise / consultancy in document management, work flow management, business process reenginering, and supports this with a software suite that is composed of free software components (Alfresco does this; IBM's business is based on this model as well). And so on.

Most of them will also sponsor the free/ open source projects whose software they use, or have their own programmers contribute to those projects.

gigaSproule
August 21st, 2009, 06:00 PM
So basically, you make money from supporting the software or from having adverts on the website where you get it from?

Does proprietry software get into the Ubuntu packages at all if it is cost free?

Thanks for the replys.

koenn
August 21st, 2009, 06:13 PM
So basically, you make money from supporting the software or from having adverts on the website where you get it from?

no.



Does proprietry software get into the Ubuntu packages at all if it is cost free?
there's some non-free (license wise) software in the Ubuntu repos (eg in 'Multiverse'. I'm not sure 'cost free' is a requirement, that's up to canonical, I suppose.

gigaSproule
August 22nd, 2009, 11:50 PM
Oh, ok. I think I get it. Thanks!

BuffaloX
August 23rd, 2009, 12:46 AM
I'm confused by the whole free software movement. So, I love the idea of community developed software, but what I don't get, is this. Does creating free software mean you have to give out the source code (gratis or not)? Because surely that would mean that someone could just take it and redistribute it. So if I charged for the software, they could give it out for free without doing any work on it. Surely that is unfair if I plan on making money out of it?

Also, does linux equal free software only in it's philosophy?

If you modify and redistribute GPL software, you MUST make the source available, otherwise it just isn't GPL.

However if you make your own software, you can use all the free software tools you want and sell or redistribute in whatever way you like.

Example:
If you make changes to the GCC compiler or libraries, and wish to redistribute your changes, you MUST make the source available.
If you create a new program, and compile it with GCC, it is still your program, and you are free to do with it what you like.

Like If you make changes to the GIMP program, you must make the source available.
But if you make a drawing with GIMP it's yours to own.

Sporkman
August 23rd, 2009, 12:58 AM
Well Red Hat (http://en.wikipedia.org/wiki/Red_Hat) is normally the shining example of how you can make money off of GPL'd software. They've done quite well.

That brings up a distinction which is lost on many: Those who make money "off of", i.e. using free software, versus those who make money developing free software.

Red Hat is the "leach" in this case (nothing against them, mind you - they're doing the right thing & there are no complaints about it from from FOSS developers as far as I know)- they can sell a quality OS without having put the full amount of resources necessary into developing it from scratch. They are benefiting from the free labor of others.

cariboo
August 23rd, 2009, 01:07 AM
Calling Redhat a "leach" shows that you may not know what you are talking about. Redhat, IBM and Novell are the major contrbutors to kernel development. See here (http://www.infoworld.com/d/open-source/red-hat-ibm-novell-major-contributors-exploding-linux-kernel-development-315). You could say the we as users are taking advantage of their efforts with out giving anything back.

Sporkman
August 23rd, 2009, 01:13 AM
Calling Redhat a "leach" shows that you may not know what you are talking about. Redhat, IBM and Novell are the major contrbutors to kernel development. See here (http://www.infoworld.com/d/open-source/red-hat-ibm-novell-major-contributors-exploding-linux-kernel-development-315). You could say the we as users are taking advantage of their efforts with out giving anything back.

Red Hat may be a "contributor" but they've put a lot less work into it than it would have taken to develop their product from scratch. So they turn around & make money from the free labor of others, like the OP was saying. Not saying it's a bad thing, just saying that the free software devs are making donations rather than making sound business decisions (at least in some cases).

Chronon
August 23rd, 2009, 01:26 AM
Red Hat may be a "contributor" but they've put a lot less work into it than it would have taken to develop their product from scratch. So they turn around & make money from the free labor of others, like the OP was saying. Not saying it's a bad thing, just saying that the free software devs are making donations rather than making sound business decisions (at least in some cases).

This can be said of every single instance of GNU/Linux. All distributions arise from a confluence of work by many people and organizations. The only thing that's required to remain free of charge (gratis) is the source code itself. It is perfectly acceptable to add value in the form of pre-built binaries or customer support or various other services. Also, as cariboo907 mentioned, they are quite a prominent contributor to the kernel already and have been for many years. Are you saying that there shouldn't be corporate involvement in Linux? Do you have the same attitude about Canonical?

Sporkman
August 23rd, 2009, 01:37 AM
Are you saying that there shouldn't be corporate involvement in Linux?

Not at all. Let me clarify, I have no negative attitude towards Red Hat or any other "leeches" (bad choice of word, as it's negative). They aren't doing anything unethical, as in fact FOSS developers encourage and are gratified by others using their products.

What I'm saying, though, is Red Hat is not a good example to present to the OP who is worried about others taking your open source code and turning around & reselling it at a profit without having done the work. :) They are not an example of an organization who is creating FOSS and making a lot of money off of it, they are an example of a company who is taking FOSS created by others (though adding some partial value to it as previously mentioned) and reselling it.

Chronon
August 23rd, 2009, 01:42 AM
I see. So how are they not creating FOSS? I don't follow this point. In turn, they have spun off Fedora, which has several derivatives, and there are distros like CentOS that are built from the RHEL codebase.

Regarding free software philosophy, you should only worry about how you will add value to the code that you're using. There's no expectation that you have to reinvent the wheel. That's part of the whole point. Take the work of others, build on it where you feel compelled to and in turn share your work with the world. If you provide some value above and beyond the source code itself, then by all means feel free to charge for that.

If you're hung up about what others will do with code you've written then you probably haven't grokked the idea of free software yet. (I'm saying this in general, not to you specifically.)

C!oud
August 23rd, 2009, 01:53 AM
Red Hat may be a "contributor" but they've put a lot less work into it than it would have taken to develop their product from scratch. So they turn around & make money from the free labor of others, like the OP was saying. Not saying it's a bad thing, just saying that the free software devs are making donations rather than making sound business decisions (at least in some cases).

I don't know how you can even attempt to make such a claim.

phrostbyte
August 23rd, 2009, 01:56 AM
This is probably the biggest issue around free software. It might even be, the only true issue (in that other issues are just really manifestations of this one).

I think there needs to be more thought on how free software can begin to generate revenue. It might be through government funding (in the US: NIH, NSF, DARPA, NASA), it might be through donations, through support, etc. But development always helps when it is funded. I think there are thousands of really really awesome developers out there who want to make writing free software a full time job. Why shouldn't this happen?

Sporkman
August 23rd, 2009, 01:57 AM
If you're hung up about what others will do with code you've written then you probably haven't grokked the idea of free software yet. (I'm saying this in general, not to you specifically.)

To me, a lot of FOSS development is simply philanthropy (volunteers developing FOSS because they enjoy it & are gratified when their work is gainfully used by others, even for a profit). However, there are some limited cases where developing FOSS actually makes business sense:

1. When you're compelled to, like Red Hat, as you are building on a FOSS product whose license compels you to open your work as well (not saying Red Hat wouldn't do it voluntarily, but they are nevertheless constrained as such),

2. When the openness of the product is a selling point to customers, convincing them they they won't be up the river if your company folds, refuses to fix bugs, or takes the product in a different direction,

3. When you want to encourage adoption of the product as a platform upon which you can sell premium stuff (like giving away cameras so you can sell pricey film, for example, or giving away cellphones so you can sell pricey wireless contracts).

Chronon
August 23rd, 2009, 02:05 AM
I think there needs to be more thought on how free software can begin to generate revenue. It might be through government funding (in the US: NIH, NSF, DARPA, NASA), it might be through donations, through support, etc. But development always helps when it is funded. I think there are thousands of really really awesome developers out there who want to make writing free software a full time job. Why shouldn't this happen?

I think it does make a lot of sense for the government to fund the development of free software. I would definitely support public funding of this. I will also donate when I can and have done so to several free software projects.

Sporkman
August 23rd, 2009, 02:07 AM
I think there needs to be more thought on how free software can begin to generate revenue. It might be through government funding (in the US: NIH, NSF, DARPA, NASA), it might be through donations, through support, etc. But development always helps when it is funded. I think there are thousands of really really awesome developers out there who want to make writing free software a full time job. Why shouldn't this happen?

Getting funding is not the same thing as generating revenue. What you are describing (except for the support case) is FOSS welfare. :)

"Generating revenue" would be people or organizations paying FOSS developers out of their own self interest, because their FOSS products will provide value that they'd otherwise wouldn't get if they didn't pay.

Gov't grants is akin to forcing people to pay, and donations don't qualify as they'd get the same value without paying.

Sporkman
August 23rd, 2009, 02:34 AM
I was thinking, a compromise between FOSS and closed & proprietary would be selling your apps as open source, with a license that prohibits redistribution of the source code or publishing it - i.e. selling source code for the customer's exclusive use, not for redistribution.

That way the customer gets the benefit of having the source, and the developer gets adequately compensated for his work by not having his sales undercut by resellers.

cariboo
August 23rd, 2009, 02:42 AM
IBM. Redhat and Novell have generated a lot of revenue from using Linux and have put a lot of money back into it. It was well publicized that IBM invested over one billion dollars in linux development. Redhat has been a major Linux developer since kernel v 1. Novell employs most of the gnome developrs developers. Nokia owns QT (trolltech}, Transmeta (r.i.p.) brought Linus to North America. If it weren't for major corporations, Linux would not be in the state it is in today.

Chronon
August 23rd, 2009, 02:50 AM
I was thinking, a compromise between FOSS and closed & proprietary would be selling your apps as open source, with a license that prohibits redistribution of the source code or publishing it - i.e. selling source code for the customer's exclusive use, not for redistribution.

That way the customer gets the benefit of having the source, and the developer gets adequately compensated for his work by not having his sales undercut by resellers.

I don't see how that helps at all. You're basically requiring customers to sign a non-disclosure agreement and then providing them with the source. You can't use this for any sort of open-development model so I don't really see the point.

BuffaloX
August 23rd, 2009, 12:05 PM
I was thinking, a compromise between FOSS and closed & proprietary would be selling your apps as open source, with a license that prohibits redistribution of the source code or publishing it - i.e. selling source code for the customer's exclusive use, not for redistribution.

That way the customer gets the benefit of having the source, and the developer gets adequately compensated for his work by not having his sales undercut by resellers.

I think if proprietary vendors did this in general, it could be of huge benefit to the industry in general. I really don't see why this should be a problem for companies such as Microsoft.

But it has absolutely nothing to do with FOSS.

koenn
August 23rd, 2009, 02:17 PM
I think if proprietary vendors did this in general, it could be of huge benefit to the industry in general. I really don't see why this should be a problem for companies such as Microsoft.

But it has absolutely nothing to do with FOSS.
Microsoft has a couple of licenses of this sort - "Shared Source".
As you say, it has nothing to do with FOSS (although Microsofts' marketing spin is, of course, that it gives you the benefits of open source)

koenn
August 23rd, 2009, 02:24 PM
"Generating revenue" would be people or organizations paying FOSS developers out of their own self interest, because their FOSS products will provide value that they'd otherwise wouldn't get if they didn't pay.


and isn't that exactly what's happening when companies such as RedHat, IBM, Oracle, Google, Canonical, ... have their developers work on open source programs and operating systems or hire devs from OS projects to work for them and let them continue to work on the project on company time ?

Viva
August 23rd, 2009, 02:25 PM
Software will be copied and distributed whether you give out the source code or not. Don't you remember WGA?:p

koenn
August 23rd, 2009, 03:11 PM
Red Hat may be a "contributor" but they've put a lot less work into it than it would have taken to develop their product from scratch. ...
its called reuse of source code -, and collaboration. These are corner stones of the Open source development model.



What I'm saying, though, is Red Hat is not a good example to present to the OP who is worried about others taking your open source code and turning around & reselling it at a profit without having done the work. :) They are not an example of an organization who is creating FOSS and making a lot of money off of it, they are an example of a company who is taking FOSS created by others (though adding some partial value to it as previously mentioned) and reselling it.

It's pretty clear that 'write a programs and sell it' isn't a very smart choice of business model if you're doing open source.

"Adding value" is usually a better idea. Not only in open source - most sectors of the economy are about adding value rather than selling raw material, and those are usually the sectors where the real money is made. Just think of source code as raw material that's available in almost infinite quantities.


That brings up a distinction which is lost on many: Those who make money "off of", i.e. using free software, versus those who make money developing free software.
If you're in the restaurant business, does it matter that you didn't catch the fish, raise the cattle, and grow the vegetables yourself ?

Sporkman
August 23rd, 2009, 03:16 PM
and isn't that exactly what's happening when companies such as RedHat, IBM, Oracle, Google, Canonical, ... have their developers work on open source programs and operating systems or hire devs from OS projects to work for them and let them continue to work on the project on company time ?

No because they are also selling code they did not pay anyone to develop. They may pay for some of the development, but they are also making money off of development they did not pay for. Somebody else had to pony up the time & effort.

Sporkman
August 23rd, 2009, 03:18 PM
If you're in the restaurant business, does it matter that you didn't catch the fish, raise the cattle, and grow the vegetables yourself ?

Either you produce those yourself, or you pay for them. Farmers don't give restaurants food for free.

This analogy doesn't really work, though, as food isn't replicable like information is (i.e. source code).

-grubby
August 23rd, 2009, 03:21 PM
I don't see how that helps at all. You're basically requiring customers to sign a non-disclosure agreement and then providing them with the source. You can't use this for any sort of open-development model so I don't really see the point.

I don't think the point is an open-development model. The customer can edit the source code for their own needs, and I certainly see that as a benefit.

Sporkman
August 23rd, 2009, 03:24 PM
It's pretty clear that 'write a programs and sell it' isn't a very smart choice of business model if you're doing open source.


Exactly. So the work done at the ground level, i.e. writing programs, is philanthropy.

Viva
August 23rd, 2009, 03:28 PM
Oh no, it is not philanthropy. Companies pay developers to write code. Around 85% of the linux kernel programmers are paid by different companies to contribute.

koenn
August 23rd, 2009, 03:32 PM
This analogy doesn't really work, though, as food isn't replicable like information is (i.e. source code).
exactly, and that's why you can't always apply traditional models to it.

although it does work as an example that building a business out of adding value to things you didn't create yourself, is a valid business model.

koenn
August 23rd, 2009, 03:36 PM
I don't think the point is an open-development model. The customer can edit the source code for their own needs, and I certainly see that as a benefit.
Depends on the license, still. In the example of some of the MS 'Shared Source' licenses, you may be allowed to look at the source code to better understand how the program works (eg to help in troubleshooting), but you're not allowed to edit it. Having looked at the source code may also forbid you of ever writing a similar program. etc.

koenn
August 23rd, 2009, 03:38 PM
No because they are also selling code they did not pay anyone to develop. They may pay for some of the development, but they are also making money off of development they did not pay for. Somebody else had to pony up the time & effort.
And they in turn will produce code, and someone else may use it without having paid for it. Reuse and collaborate ... is that so hard to understand ?

Sporkman
August 23rd, 2009, 05:23 PM
And they in turn will produce code, and someone else may use it without having paid for it. Reuse and collaborate ... is that so hard to understand ?

Easy to understand. What you are not understanding is it's not a good business model for those who do the most work. The model you present above is a communal one, where, as a whole, the commune benefits, but the individual commune workers aren't necessarily compensated proportional to the value they provide. It is an inequitable economic system.

So would you spend a few months (of day time, not otherwise working a job) writing an application, then open source it GPL? Would you open source it BSD?

If yes to GPL but not to BSD, why? ;) (I think you'll see the light with this one...)

koenn
August 23rd, 2009, 05:50 PM
Easy to understand. What you are not understanding is it's not a good business model for those who do the most work. The model you present above is a communal one, where, as a whole, the commune benefits, but the individual commune workers aren't necessarily compensated proportional to the value they provide. It is an inequitable economic system.
I do understand, that's what I've been saying since post #4. At the risk of introducing yet another flawed analogy (all analogies are flawed) : What I'm saying is that building a business out of selling sand in the Sahara dessert is not a good idea. What you're arguing is that this is not fair.

If someone builds software, for what ever reason, and says 'it served my purpose, and if you want, you can have a copy', how is that a problem?
Look, these devs write that code either because they want to, or because someone is already paying them to, or both.




So would you spend a few months (of day time, not otherwise working a job) writing an application, then open source it GPL? Would you open source it BSD?

Would you, not having a job, take up selling sand in the Sahara ?

lethalfang
August 23rd, 2009, 06:44 PM
That brings up a distinction which is lost on many: Those who make money "off of", i.e. using free software, versus those who make money developing free software.

Red Hat is the "leach" in this case (nothing against them, mind you - they're doing the right thing & there are no complaints about it from from FOSS developers as far as I know) - they can sell a quality OS without having put the full amount of resources necessary into developing it from scratch. They are benefiting from the free labor of others.

The point of open-source software companies is that each can benefit from each other in terms of developing and improving software. They benefit from improvements of Linux written by others. Others, in turn, also benefit from codes written by Red Hat. The combined resources putting into Linux is enormous. In the future, as Linux grows, that combined resources will dwarf what even Microsoft will be able to afford, and as such, Microsoft's business model is already numbered.
Red Hat is hardly a leach. Red Hat is, in fact, the biggest contributor of codes to Linux kernel.
http://blogs.computerworld.com/14576/who_writes_linux_big_business
About 75-80% of Linux codes are written by developers paid to write Linux codes, such as those from Red Hat.
Only about 20% are written by people who aren't working for a company.

HermanAB
August 23rd, 2009, 08:39 PM
Note that Linux is Open Source Software, not Free software. Linus has made it clear on numerous occations that he and Richard do not see eye to eye on some things and that Linux is not a FSF project. Linux just happens to use the GPL2 and LGPL2 - that doesn't tie it to the FSF. Basically, Linus' philosophy is more liberal than the FSF as shown by the tolerance of binary blob device drivers for example.

The most important thing that common people seem to miss is the tax benefit of FOSS. A FOSS project is usually run as a charitable organization. A large company e.g. IBM, MIT, Sun, AOL - found a charity that they control and then donate a couple hundred million dollars worth of software to it, thus generating an enormous tax deduction.

The charity cannot however proclaim that it exists solely for tax purposes, since that will cause it to lose its licence. Therefore the rhetoric which is taken to extreme by the FSF, but they are just very careful to maintain the philantropic front.

If you look at is closely, then most charities are mainly tax evasion scams and the software world is no different.

Sporkman
August 23rd, 2009, 09:18 PM
I do understand, that's what I've been saying since post #4. At the risk of introducing yet another flawed analogy (all analogies are flawed) : What I'm saying is that building a business out of selling sand in the Sahara dessert is not a good idea. What you're arguing is that this is not fair.

If someone builds software, for what ever reason, and says 'it served my purpose, and if you want, you can have a copy', how is that a problem?
Look, these devs write that code either because they want to, or because someone is already paying them to, or both.



Would you, not having a job, take up selling sand in the Sahara ?

I'm not saying I think it's unfair, as all parties involved agree to it (i.e. FOSS developers are fine with others profiting from their work). What I'm saying is it's not a good business decision to write software applications from scratch & open-source them. It takes some philanthropic "seed" contributions to get things off the ground (except of course for the few limited scenarios I cited earlier). That's what the OP was inquiring about.

Bottom line: if you want to write a neat application, and want to extract maximum economic value from it (save for the scenarios I cited above), do not open source it. If you're feeling generous & want to "give back" or help others out with your good work, then by all means "contribute" your code to the FOSS system - nothing wrong with that. But it's not "business". :)

HermanAB
August 23rd, 2009, 09:42 PM
"Bottom line: if you want to write a neat application, and want to extract maximum economic value from it (save for the scenarios I cited above), do not open source it."

That is not necessarily true.

It may be true if you happen to have full vertical control over the whole stack, but there are many pieces of software that is more useful if it is open source and freely shared, than when it is closed. Therefore the best (or only) way to extract money from these types of code is to make it open. The embedded software world relies on open source for that reason and there are many embedded software developers and many embedded software support companies that are worth billions.

koenn
August 23rd, 2009, 10:16 PM
I'm not saying I think it's unfair, as all parties involved agree to it (i.e. FOSS developers are fine with others profiting from their work). What I'm saying is it's not a good business decision to write software applications from scratch & open-source them. It takes some philanthropic "seed" contributions to get things off the ground (except of course for the few limited scenarios I cited earlier). That's what the OP was inquiring about.

Bottom line: if you want to write a neat application, and want to extract maximum economic value from it (save for the scenarios I cited above), do not open source it. If you're feeling generous & want to "give back" or help others out with your good work, then by all means "contribute" your code to the FOSS system - nothing wrong with that. But it's not "business". :)

Ah, OK, I thought we digressed into a broader (and more interesting) discussion of the economocs of open source software development, not the "I wrote a program and it's going to support me for the rest of my life" scenario.
Nonetheless, even in that scenario, open sourcing your program is an interesting way of getting a developer work force. It"s what drove 2 of the 3 most successful open source projects : the linux kernel, and the mozilla/firefox web browser. Linux was an "I wrote this for myself, I don't care who else uses it" scenario, Mozilla was strictly a business decision. Note the extreme lack of philanthropy in both cases.

#3 is the Apache web server, made in collaboration by a group of web masters who needed a solid HTTP server and started building on code from the public domain. Being webmasters, they clearly needed this for business reasons rather than philanthropic ones. Again, using a free license allowed for distributed development and helped make Apache the number 1 web server.

So,you do not necessarily have to sell binaries and hide your code to make money from programming. You can also build your business around an activity or a product that needs the software you write. And if someone else bugfixes it for you and writes additional features, that's even better.

lethalfang
August 25th, 2009, 08:27 AM
I'm not saying I think it's unfair, as all parties involved agree to it (i.e. FOSS developers are fine with others profiting from their work). What I'm saying is it's not a good business decision to write software applications from scratch & open-source them. It takes some philanthropic "seed" contributions to get things off the ground (except of course for the few limited scenarios I cited earlier). That's what the OP was inquiring about.

Bottom line: if you want to write a neat application, and want to extract maximum economic value from it (save for the scenarios I cited above), do not open source it. If you're feeling generous & want to "give back" or help others out with your good work, then by all means "contribute" your code to the FOSS system - nothing wrong with that. But it's not "business". :)

In practice, your statement is not always true.
There are many many profitable companies going with the open-source model, and they didn't do it for charity. They do it for maximum profit.
Microsoft is following your model, but they are successful with it for being relatively the first to really succeed in software business. Their model, however, is on its way out. Microsoft's business model is numbered.