I was recently confronted by an odd bit of reality, about which I thought I’d vent a little.
I am the creator and owner of a widely used open source project (CSLA .NET) that has (in one form or another) been around since 1996. If you want an example of an open source project with longevity, CSLA .NET ranks right up there.
And CSLA is “true” open source, in that it uses a liberal and non-viral license, and there’s no commercial option (a lot of OSS projects use a viral license as a “poison pill” to drive any real use of the project to a paid commercial license that isn’t free as in beer or speech).
Recently at a conference I and some colleagues were presenting on some development techniques and patterns, and the code makes use of several open source projects – including CSLA.
Oddly this was a source of blow-back from some in the audience, who thought the talk was “overly commercial”.
Apparently talking about other people’s free open source products are fine, but if you talk about your own then that’s commercial?
And for that matter, how can it be commercial if you are talking about software that is free as in beer and speech? If anything, FOSS is anti-commercial by its very definition…
It would seem, by this ‘logic’, that the primary experts on any given OSS project should not talk about their project, but should instead talk about tools they might use, but don’t actually create or build.
In other words, people attending conferences should never get the best or most direct insight into any OSS product, because presentations by the people who create that product would be somehow “too commercial” if they talk about the stuff they’ve built.
So much for learning about Linux from Linux developers, or jquery from jquery developers, etc.
Obviously that’s all pretty dumb, and similarly I suspect the majority of the people at this conference (or any conference) don’t feel this way and do want the highest quality information they can get.
I think the real issue here is that some reasonable number of people just don’t understand open source.
A lot of people (especially in the Microsoft dev space) have never knowingly used open source – living entirely within the realm of products provided by Microsoft and component vendors.
(whether these people have actually used open source is another matter – and odds are they have unwittingly used things like jquery, ASP.NET, Entity Framework, MVVM Light, Subversion, git, etc.)
I only bother blogging about this because over the past couple years it has become virtually impossible to create any modern app without the use of some open source products.
I can’t imagine anyone building a modern web site or page without some OSS products. Much less a web app that’ll be based almost entirely on OSS products.
Similarly, it is hard to imagine building a XAML app without the use of at least one OSS MVVM framework.
And the same is true with unit testing, mocking, etc.
In short, the best tools available today are probably open source, and if you aren’t using them then you are depriving yourself and your employer of the best options out there.
What this means imo, is that people who think talking about your own open source product is “too commercial” had better grow up and get a clue pretty fast, or they’ll be finding everything to be too commercial…