Open- vs. closed-source jobs

One of the things I’ve been noticing in the classified ads — for Web developer/programmer etc jobs — is the virtual absence of any open source positions.

Yes, there are listings out there for some open source type products — often a job (web admin, say) will need Apache experience, there are rare Perl jobs (usually consulting gigs), and Linux always welcomed — but despite the so-called revolution of open source, the positions are not there.

For example, here’s what I’ve found for the following (in general):

  • MS ASP/ .Net: Quite a few positions
  • C/C++: Quite a few
  • Cold Fusion: Not many, but they do crop up from time to time
  • Perl: As mentioned, out there occassionally, but usually consultant gigs
  • Java/servlets: A
  • lot of positions. J2EE pops up as often as anything else

  • PHP: Nada. Nothing. Hardly ever
  • JSP: Not too often by itself, but usually as part of some other job — Java or CF/ASP whatever. Hybrid/multiple systems
  • Oracle: All the time; highest ranking database need out there
  • MS SQL Server: Frequently listed there, usually with either the ASP/.Net or C/C++ positions
  • mSQL/mySQL/PostgreSQL: Virtually never.

Also appearing quite a bit — especially with either JSP or CF jobs — are Dreamweaver and the general call for Unix or NT administration, as part of a Web development job.

OK — what does this all mean?

Look at the list — you can call Java “open source” sorta, but I don’t consider it such: Beyond need for users familiar with Apache or Linux (again, in a peripheral manner usually), there is no call for use of open source software (OSS).

Does this mean OSS is dead?

No.

It just means that:

  1. It doesn’t pay (literally!)
  2. New development — the meat-and-potatoes kind, not in-house use — is virtually divorced from OSS with Apache/Linux excepted.

Does this mean that OSS deployments have stopped?

No.

It just means that the OSS deployments that are happening are happening in one of two ways:

  1. In-house use — such as an intranet — built on OSS (cheap) by existing programmers, the ones hired for C++ development etc.
  2. Used by consulting companies etc that are already staffed — and probably in trouble — and this is what they recommend.

For an example of the former, consider my sojourn at SOS: We needed an intranet, I had to build it. I wanted it dynamic. All we had was a spare (shared — file server, essentially) Linux box with PHP and PostgreSQL (could have done mySQL, too, but admin wanted PostgreSQL. I’m glad). So it was built in that. And to the outside user, what’s the difference? None. Spits out HTML in the end; who cares what happens under the hood. AND — I was never hired for these (PHP/PostgreSQL) skills. I just learned them because those were the tools I was given. I bet a lot of intranets are built this way.

For an example of the latter, extend the intranet metaphor to the consulting company. They can deploy a fast, C H E A P site using PHP/mySQL/Perl whatever, and so that’s what they will propose (it’ll beat any “MS SQL Server/Advanced Server…” quote). And the folks who get the site? They don’t know the difference, either, just like the intranet users.

Now, you could make the arguement that there are still companies building sites for folks, but I don’t think that market is too big now. You can use (yech!) FrontPage or whatever and get a static Web site that will, in all fairness, work well for just about most small businesses.

Could it be built better dynamically? Probably, but the cost and the complexity factor is just not worth it to most small businesses.

Big businesses?

They have learned. They/friends/competitors have been burned. There must be a business case before deployment, and few business cases will — by defintion — support OSS: It doesn’t fit any business model. No cost, no support (news groups/community? how can a business plan define/support that?).

So they go with MS or Oracle/J2EE.

I’m not pointing fingers here — it’s really nobody’s fault. It’s just the way things are; get over it!

But it’s interesting.

And depressing.

Right now — as much as it was before the “OSS revolution” — the world of Web devlopment is split into two camps:

  • MS-centric: C#, C++, .Net, MS SQL Server, Advanced server and so on
  • Non MS-centric: J2EE, servlets, JSP, Oracle, Apache/Netscape (server use depends on business size; Netscape for bigger sites). Usually on Unix, but could be on NT

And yes yes yes, there is that third, hidden area of OSS deployment outlined above, but … it’s small and — with the exception of Apache, Linux and Perl — diminishing in relative use.

I also think the Cold Fusion is in real trouble, but that’s fodder for an entirely different entry (basically, with MX, Macromedia is taking the first step into Java, and it recently released “hooks” into several different J2EE app servers.) By the time the next release rolls around, it will be even more tightly integrated into Java, to the detriment of NT use.

Unless MS buys Macromedia — which is rumored, but I doubt — Cold Fusion is basically going to go away, be a pretty front end for scary Java. (Takeover rumors are based on MS wanting Flash, to undermine Java on desktop. Valid and of interest, but as XML and one component — SVG — come out, it doesn’t make that much sense, especially now that the CF rewrite [entire app] is in Java, which MS just loves….but that’s my take. I’m a business idiot).

The very interesting part to this return to two camps — to me — the coming revolution in Web services.

Yes, Web services have been overhyped, but I think they will happen (but maybe not necessarily as the experts have prognosticated).

OK, assume Web services are coming (they are).

Assume they will — slowly — become huge (they will).

Believe that as far as actually delivering products, OSS has done a much better job that the “two camps” (MS/non-MS), at least in general (I’m sure MSCE have some very good code samples etc.)

The “camps” are concerned — correctly — with getting it right before putting it out there (if I’m spending $10,000 on a .Net server license, it had better be correct…).

So there have been a lot of delays, a lot of false starts, a lot of vaporware.

OSS keeps cranking out, if nothing else, examples of how it should work (PHP & Perl use of SOAP on Amazon and Google and so on).

And it’s free, which is good for a technology one just wants to check into — no need to download the beta of this or that Web-services enabled server. Just get a SOAP module for Apache.

But once the big guys get it right — learning from the code put out there in OSS land, believe me — it will be a different story.

It will be back to the two camps again, each with slick Web-services capabilities.

Will the circle be unbroken???