In a free market, over time, competition in the production of a commodity product will eliminate all profits. Bread-makers can sell their bread for enough money to cover the cost of the capital invested in the bakery, the cost of the flour, yeast, sugar, and water, the fuel needed for firing, and the salary of the baker. They can earn no more money than that. If they did, then another bakery would be established which would price its products lower, splitting that profit between the customer and the owner of the new bakery.
I recently got myself a Flickr Pro account, and have been using Flickr for more of my photos. I find myself more and more annoyed at the rough edges in the Flickr user interface. For example, when you want to delete a tag from something, you click on the [x] to the right of the tag. Flickr asks you "Do you want to delete the tag?" Cancel/Ok:
Many, many programs written in C or C++ use a file called "config.h" which contains #define statement that control the compilation of the program. These programs are also nearly always built using 'make'.
I claim that these two attributes are in conflict with each other. Or, in layman's terms, "config.h sucks". The problem is that when you have multiple options in config.h, every file which may be compiled differently depending on the values defined therein must be recompiled whenever config.h changes.
We're realizing is that Open Source is more than just free software. Free software is like free rocks. You need rocks, but rocks aren't enough to build a house. You get the Open Source effect only when you have a pyramid of people (roles, actually -- you can still get the Open Source effect if one person fulfills all these roles) associated with the project:
/ Editors \
/ Developers \
/ Contributors \
/ Contributors \
/ Users, Users \
/ Users, Users, Users \
The Editors decide what goes into a project and what falls on the floor. Developers write the code. Contributors write documentation, answer questions, report bugs, blog about the software, review the software, and do everything else which isn't coding. Users just use the code, but of course the role of user is why everybody else does what they do.
Together, these people form a community.
Are you a patent holder, wondering how to write software which implements your patent? Here's my advice: Patents expire. Towards the end of the patent's lifetime, you want to be trying to transfer the patent's franchise over to the relationship between the patent-holder and the licensee. That can be done with closed-source software, but you risk competitors writing their own software. With Open Source software, as long as you manage the relationship with the user correctly, you end up with a franchise.
OOXML needs to die. It's clear that OOXML is a faux standard -- not because it's a vendor standard. There are lots of vendor-created standards which are real standards (e.g. PostScript). No, OOXML is a botch because it's expressed in terms of an undocumented Microsoft graphics library. OOXML is all "and then a miracle occurs". You've seen that cartoon, right?
Steve Ballmer asks, in an E*Week interview, who speaks for the Open Source Community, and answers his question by saying that nobody does. True enough! He then goes on to point out that Larry Ellison, he speaks for Oracle, yes. True enough! But who speaks for the proprietary software vendors? When we, the open source community, want to make an agreement with the proprietary software vendors, who do we talk to? Do we talk to Larry? Or Steve? Or Jonathan? Or Curley? Or Moe?