The Rest of the Story

Posted by Mike
Liquid error: wrong number of arguments (5 for 2)

Some readers who have come here via Jeff Atwood’s Coding Horror blog entry Giving Up on Microsoft have asked for some further development of my views on the issues involved. I go back and forth on whether I want to develop this stuff in public at any great length, because the most important thing for me at this point is to continue to build up my skills in new (to me) areas of software and to use those skills to make a living, not to develop a reputation as someone who pens brilliant anti-Microsoft polemics. The kids can’t eat polemics.

But it basically boils down to this: Microsoft itself is built on open intellectual property from the first three or four decades of computer science. The folks who invented computer programming for the most part didn’t worry about who owned what; algorithms and ideas and languages and interface improvements were freely shared, and everyone built on everyone else’s work. Now, if the Microsofts of the world have their way, we’ll end up with everything in fenced-off gardens: every piece of user interface, every algorithm, every data structure, will belong to someone, and will not be available for use unless you pay for it somehow. It will become literally impossible to legally write software without entering into a web of commercial cross-licensing agreements.

To me, that’s a horrifying thought. As far as I’m concerned, software is no more deserving of patent protection than mathematics is. While I personally am not willing to sign on to all of the positions of the Free Software Foundation, I do agree with Eben Moglen “that software is the embodiment of knowledge about technology, which needs to be free in the same way that mathematics is free.” The notion that software couldn’t be developed without strong intellectual property protection is demonstrably false – just look at all the software that was developed before people got it into their head that algorithms could be patented, or that you could assert nebulous unspecified rights over a particular sort of user interface innovation.

Although I am referring specifically to Microsoft here, I am well aware that they are not the only company seeking to patent basic algorithms. Nor do I intend to demonize Microsoft or to draw the inferences, popular in some circles, the because I find their corporate policies odious their employees or software must be inferior. On the contrary, I have over the years had many friends who work at Microsoft and happily used many of their products. I’ve done much of my own most productive work with Microsoft products, and though I think some of their recent innovations are poorly-designed for power users, I continue to be impressed with their ability to produce software.

But I see Microsoft leading the charge into a world where the independent software developer ceases to exist, because it will not be possible to develop software without an intellectual property lawyer at your elbow. And I don’t want to live in that world. As a result, I choose to cut off what tiny bit I can of the fuel that keeps Microsoft going: the licensing dollars I pay for Microsoft software, and those that my clients pay for deploying the software that I write, as well as my own implied moral support for the company’s policies. It’s not a whole lot, probably not more than a few million bucks over the remaining course of my career, but it’s something.

The Examined Software Life

Posted by Mike
Liquid error: wrong number of arguments (5 for 2)

An unexamined life is not worth living. – Socrates

Ran across a blog entry today from one of the Ubuntu maintainers, Features vs. Freedom . The particular issue he’s wrestling with (whether to include binary 3D video drivers with a free software distribution) is of mild interest to me, but there is a larger meta-issue that ties back to the whole reason that I’m writing here at A Fresh Cup. Over the past several years I have become increasingly convinced that our software choices have consequences, and that (sadly) most developers never spend even a moment thinking about these consequences.

Choosing to use Microsoft software as the basis for my work, whatever else it may do, contributes to the growth and health of Microsoft. It supplies funds for Microsoft’s continued initiatives in the area of intellectual property and DRM. And it seems to me that the ultimate consequence of these initiatives will be to limit my own freedom of action, both as a software user and a software developer. I realize that reasonable people can (and do) disagree on these points, but that’s where it nets out for me.

Having come to that conclusion, the question is what I can and should do about it. In my younger days, I wouldn’t have recognized any distinction between “can” and “should,” but with age comes either wisdom or exhaustion. I know what my ethics tell me I should do (opt out of using and supporting Microsoft software). But I know that to do this, cold turkey, would have immediate bad consequences (such as an inability to put food on the table for my children). Hence the explorations that you’re seeing in this blog. The hope is that I can find some way to if not eliminate, at least minimize, the contradictions between the “can” and the “should” in this area of my life, and so increase my happiness by bringing my actions into closer touch with my ethics.

I'm Chewing on Some of These Same Issues Lately

Posted by Mike
Liquid error: wrong number of arguments (5 for 2)

Programming Today Is Too Hard: Shouldn’t It Be Getting Easier? (via dzone}

Considering Choices

Posted by Mike
Liquid error: wrong number of arguments (5 for 2)

Given that I would like to wean myself (for essentially political reasons) from my current dependency on Microsoft software, the question becomes, what next? Over the last quarter century I’ve done quite a few things in the computer universe, so I have lots of directions to think about.

One thing I can rule out immediately is a lateral move to Java or Delphi or whatever other programming language within the Windows ecosystem. That doesn’t get at the heart of my issues; if I’m going to do this, I want to leave behind not just the one part of the Microsoft universe, but, to the greatest extent possible, all of it. That pretty much means finding a way to make a living with Mac or Linux (or leaving computers entirely).

Hardware

I’ve been in white box hardware sales before. It requires a fair amount of capital, and the profit margins stink. I don’t want to go there again.

Sales, Management, Administration…

Been there, done that. I have plenty of sales and managerial experience, both within and without the computer industry, in my background. I suspect that if I tried I could land such a job again. But this isn’t a good fit with homeschooling our kids, working at home, or generally staying sane.

Training

Yup, been there done that too. And I’m never going to do that much travel again.

MicroISV

The siren song of becoming a MicroISV, writing, and selling my own software product is always there. But realistically, I doubt this is practical. Even on the Windows platform it’s a crapshoot. On Linux, no one pays for software, and on Mac, the potential sales numbers are lower than on Windows. I might do some software writing as self-promotion but I don’t see it as a cash cow.

Writing

Put this one in the self-promotion category too. Writing computer books hasn’t been a viable career for several years. Articles bring in some extra cash but they don’t pay the rent.

Web Sites

There’s some potential here. The Larkware site brings in a decent second income from advertising. Potentially I could replicate that in a new realm; I know how to digest and present information.

Consulting

Always the fallback…I suspect there will always be Web sites or line of business apps to be written, and some of those can be written on non-Windows platforms (especially when we’re talking about Web delivery). I wouldn’t get rich doing this, but I wouldn’t starve either.

No Conclusion…yet

Decisions, decisions…one thing I do know, though: if I don’t put time into Vista/Office 2007/.NET 3.0/”Orcas” then my current income streams will dry up within 2 or 3 years. So there’s a definite time limit to figuring this out.

Up and Running

Posted by Mike
Liquid error: wrong number of arguments (5 for 2)

So, after on and off effort for four days, I’ve managed to get this site up and running. Installing ozimodo and playing with Rails on a Ubuntu client was easy, and I’m impressed with my initial spelunking in Rails.

Deploying the solution to a Ubuntu server was a bitch. I persevered, and got through all the problems, but I definitely would have given up if this was my first computing experience. All the information I needed was somewhere, but some of it was in one place, some in another, bits and pieces were pulled from my own experience, and so on. It seems to me that there are some opportunities here to make this part of the deal easier.

Of course, opportunities don’t necessarily equate to market opportunities.

(Lack of) Design

Posted by Mike
Liquid error: wrong number of arguments (5 for 2)

Things will probably be messy here for a bit…I’m running the default ozimodo theme while I catch up on posting some links and notes. After that I may turn my painfully deficient design skills to making it look a bit nicer. But information before style.

What's Going On Here?

Posted by Mike
Liquid error: wrong number of arguments (5 for 2)

The last time I completely walked off a job and started over with a new career was around 1992, when I shut down the publishing business I’d built around FACTSHEET FIVE. After a while I ended up writing software, and writing about software, for a living. I’ve spent the bulk of the last fifteen years developing some amount of reputation and expertise in the Microsoft universe, having published dozens of books and hundreds of articles, worked as an editor and consultant, written (as a subcontractor) parts of various Microsoft products, and so on. I’m also the editor of the Larkware site, which tracks news in the Microsoft software world for developers.

Unfortunately, over that time I’ve also come to the conclusion that, even though it is staffed largely by smart and ethical people, Microsoft itself represents a grave threat to the future of software development through its increasing inclination to stifle competition through legal shenanigans. Its recent attempt to claim that no one can implement a user interface that looks anything like the Office 2007 ribbon without licensing some nebulous piece of intellectual property represents a new low in this regard.

I’m in a bit of a bind. Unlike fifteen years ago, I’ve got a family, including four kids, and I can’t afford to just walk out on a career that brings in good money. But I rather desperately want to find an alternative. This blog will record some of my explorations as I hunt around in other corners of the software world, trying to decide if there’s a viable business plan for me that can include weaning myself off of Microsoft software.