Summary
If youd like to earn a living doing what you love most, and if that happens to be writing software, then lower your eyes, purse your lips penitently, and force yourself instead to look for dollars in tangents: write books about it, consult on it, sell hardware to run it, teach it anything but aspire to live from crafting software itself.
Advertisement
Ok, that was sarcasm. But many espouse the same views sincerely. Should any individual or commercial entity profit from software? To make the question simpler, eliminate domain-specific software and ignore verticals: should we profit from horizontal, mainstream software? How about from server-side software infrastructure?
Before offering my own opinion, here are a few observations:
Its a bad time to be selling software infrastructure. Everybody overpaid in the enterprise, we are told, hoping for some software vendor to share accountability for their risks, and they mostly ended up with bloatware hidden behind EULAs compensated for only in part by hefty service contracts.
Many Americans in particular complain about the high cost of creating commercial software as a reason that outsourcing has surged. In my recent product experience, however, Im surprised to report that developers overseas have proven far stronger technically than the majority of American CS grads and elitist gunslinger engineers Ive recently interviewed, and I have felt assured that the product was improving by moving off shore. If the technical improvement was not to be had, product development would not have shifted, at least in this instance.
Its hard to escape noticing that many of those I respect most in this profession see a character flaw in the fact that I design commercial software products as my primary source of income. For pay. For shame. Im making light of it now, but heres a secret: sometimes I wonder if I ought to feel shame, indeed. Like the boyhood Catholic guilt I cant leave behind no matter how sincere my adult interest in more reasonable theologies, it could be that this is some holdover angst from projects Ive released and maintained in the open source world; but whatever its root cause I think the question is valid.
Economically, vendors are fighting history. With a couple of obvious exceptions, no major company has managed to scale horizontal software revenue alone separated from services, hardware, support, training, domain-specific solutions, etc. to stand as its profitable foundation. Of the two (possibly three) exceptions among major companies, the one wildly successful exception managed to scale software to such heights only by growing a monopoly (not a great thing even if you do think its acceptable to make a buck from software itself). The other largely successful software companies selling server infrastructure either use it as an enabling technology (to sell hardware or services) or remain fairly small or niche players this is not intrinsically bad, and perhaps it is the natural way of the world (if so, bad news for BEA, a software infrastructure company in a hardware and services world).
Interestingly, those who use software infrastructure to build applications often seem to resent its presence more than do other sorts of users, and engineer/consultants remain suspicious of their brethren who build the stuff unless those brethren contribute to open source infrastructure products, which somehow seem more palatable.
I do believe in the value of peer review, and do believe that a certain sort of software not all, but certain sorts can attain higher quality through the unique brand of peer review that open source encourages. Motivation through fear and pride is not to be underestimated. Theres a good deal missing there that more focused experiences provide, such as deep contact with the user during development, peer review with accountabilities, and real-time collaborative development between engineers as well as QA, but still the democratic peer review of open source is a great thing. Im not seeing how that makes it more ethical, though.
There are a few engineers whose altruism is sincere and legendary, and it touches a lot more than just the open source software they develop; they live their lives by it. More power to them. However: Most of those with commit privileges on broadly-adopted open software products make money by selling services, training, support, and the like for that open source software; they are making money not on their core strength that is, assuming they write software better than they do anything else (and if they didnt the peer review process loses some of its luster) but on a myriad of activities tangential to that core talent. This might be perfectly ok. Maybe musicians should make more money teaching music lessons than from selling concert tickets. Really, I dont know. As I say, I have created open source projects and contributed to others; Im not questioning its technical and social merit, Im questioning the ethical elitism it can engender.
As I hunt for an analogy in more mature engineering, artistic, scientific, and professional disciplines, I cant come up with a good strong fit. Is this the same as asking if anyone should profit from building a bridge or a highway? Thats actually not a bad model for software, if its hosted rather than shipped, and service-orientation tells us most all will be eventually. The highway toll might equate to micropayments (if anyone can get that stuff figured out in a big way other than the guys who pulled together Apple iTunes).
My own opinion:
For now, Im going to stop over-thinking it. I enjoy writing, I enjoy speaking, I (occasionally) enjoy teaching, and all the rest. But I am also happy not to make a living doing any of those things. Perhaps Ill open source them, and write a book or consult for free. I am content to make a modest living doing what I love best: crafting software itself. I think my users and customers gain more value from that as well.
We all feel better that your ultimate goal is to strive for mediocrity. Go, strip yourself of your worldly possessions, throw away your ambition, cast your aspirations to a moribund way of life, for you will be the more enlightened, ethical and respected for it!?
ARGH!! What the hell is going on with the bloggers on this site? Have they all drunken some neomarxist open source cool-aid??!!
Open source is cool, and in some respects reflects the ideals and altruism of many, but not all, contributors. It's not a religion, it's not a morality movement. It is an attempt to advance the state of the art in a way unbridled from the auspicies of the corporate balance sheet. Ultimately it becomes a potential resource to entreprenuers who envision ways to benefit their customer and make a tidy profit. Sometimes the contributors get lucrative contractural assignments out of the deal.
My remarks actually agreed with yours. I wrote that I do make profit from writing superior commercial software, and that there is nothing unethical or othewise wrong about it. My opening remarks were sarcasm, which can sometimes be missed in a form such as this. I was not holding up open source projects as economically superior, I was questioning that assertion.
Thanks for the angry response, though, as I think it means you agreed with my sentiment even if you disliked the way I presented it.
Hey I liked the article. I've never felt guilty about making software for money because the software I have written has gone in to products that consumers buy. So consumers are paying me, really.
Guilt comes from feeling lucky. I have always had a bad habit of considering myself lucky that I could get paid well for writing software. Because I'm lucky and others aren't, that is where guilt comes from. But that is existential guilt. It is only comparing my existence with another's.
But there is more to getting paid for stuff than just the physical code that is produced. People are hired for their abilities in collaboration, creativity, resourcefulness, domain knowledge, and focus. If you can focus on what your company needs rather than what your ego prefers, you deserve the money without any guilt at all.
Scott Patterson wrote: Guilt comes from feeling lucky. I have always had a bad habit of considering myself lucky that I could get paid well for writing software. Because I'm lucky and others aren't, that is where guilt comes from. But that is existential guilt. It is only comparing my existence with another's.
But there is more to getting paid for stuff than just the physical code that is produced. People are hired for their abilities in collaboration, creativity, resourcefulness, domain knowledge, and focus. If you can focus on what your company needs rather than what your ego prefers, you deserve the money without any guilt at all.
You're concept of guilt is orthogonal to the actual meaning, at least according to every English dictionary that I know of. Guilt is the remorseful awareness of having doing something wrong, like robbing someone or executing the wrong person. If being lucky is wrong, then we're all in trouble.
I think the guilt that Mr. Neville is referring to is the remorse one feels through the theoretical oppression of disadvantaged groups because you are indirectly taking more than your fair share from a static pool of opportunity, thereby disenfranchising those of lesser capability or lesser means (only socialists feel this way). This assumes that the opportunity pool is a zero sum game, which it is not, and that fair means that it is more moral to strip your ambition to the least common social denominator than to strive for excellence and compete against others so that there are winners and losers. You see, people who feel guilty about winning are in fact the losers.
The observation I attempted to record was that there is by and large little difference in the motivations and passions of those engineers employed by commercial software vendors and those developers who earn their living in forms other than through the actual sale of software. This is an obvious observation to my mind, but it's one (interestingly to me) denied either vigorously or passive-aggressively by those who do condemn earning profit on software itself. The denial goes beyond distrust of vendors, and stretches to all sorts of other, higher judgments. Yet the differences typically don't exist, at least in my experiences with meeting and speaking with some of our loudest and most engaging detractors. I'd attempted, at least in rambling blog format, to touch on and then explore just this observation, nothing more. I certainly wasn't downplaying the value of competition, market or otherwise.
Uninterestingly, there's no emotion from me on the topic one way or the other, and I can offer neither guilt nor anything better; it's just an observation that seemed fit for a fairly sarcastic blog entry. But I also have no judgment to pass on those who really do feel guilt, anger, intense disagreement or whatever other reaction might arise as a result of the observations and ramblings. Truly, no harm meant, no harm taken even if intended.
Wow, I have never thought about feeling guilty for developing software for money. I mean what's the real difference between getting paid for a software product (or nnn lines of code) and getting paid for consultancy, teaching, and reselling it? Then you should feel bad about writing open source too because, what, someone else can profit from its complexity by selling the support. The bigger project you develop the greater chances are there someone will come up and charge the support for it.
So I don't think open source projects are completely free of charge either. Whether they should, is a completely different story.
I'm very puzzled by one thing you say in the article, because it's so diametrical to my recent experiences:
"Many Americans in particular complain about the high cost of creating commercial software as a reason that outsourcing has surged...Im surprised to report that developers overseas have proven far stronger technically than the majority of American CS grads and elitist gunslinger engineers...I have felt assured that the product was improving by moving off shore. If the technical improvement was not to be had, product development would not have shifted"
I've watched or participated in several outsourcing disasters over the past two years and I certainly wouldn't report that "developers overseas have proven far stronger technically". The reason product development has shifted, as far as I can tell, is because senior executives regard developers as interchangeable cogs; if you can get 5 developers in India for the price of 1 US developer, you can get 5 times the amount of work done.
Alas, this simple math doesn't work very well because a) the differences in skill between good developers and average ones is greater than 5X; and, b) communication is the second most important factor in software development (after talent). Having development 12 time zones away makes good communication even more difficult.
I'm not implying that US-based developers are 5 times better than overseas ones. But outsourcing companies like HCL, InfoSys, and Wipro employ tens of thousands of developers. If you get a average cross-section of developers from one of these companies for your project (and you will), you get some very average developers. I'm know this because I've talked with lots of these folks and seen their code. "Average" is probably a little too kind.
Remember, a good percentage of the best and brightest from overseas are already here. There is another, deeper underlying factor driving outsourcing, and that's the fact that there is, always has been, and probably always will be a shortage of truly talented developers. So we need to scour the whole planet to try to find them all. Outsourcing is just the latest way to try to do that.
Thanks for your response, I found it very interesting. I have had only two experiences with outsourcing, much more limited than yours, and I don't at all intend to broadcast general views based on that limited experience.
Specifically, I recently participated in the outsourcing selection process for one of our products. To my surprise, the small group of developers at HCL tasked with maintaining this product proved to be astonishingly proficient in the very specific skills we required, and I would have jumped with glee to find developers of that caliber when I interviewed for the same product's development a year or so earlier.
So my comment was really an indication that at least in one specific instance, the engineering skills were not at all an issue. This suggests to me that any absolute statement about outsourcing vs. local development being flatly better or worse is probably impossible. But that, of course, says nothing about the difficulty of engineering management, product management, or the applicability of this same outsourcing team's skills to another product.
Pro Wealth Success! The hottest thing on the net right now!
It's the HOTEST thing on the internet that everyone is talking about now. If you dunno about it....read on.
ProWealthSolutions not only provides you all the tools and training to generate multiple streams of income, but it is also a business opportunity in itself!
Referral-based Marketing, also known as Network Marketing has become one of the most powerful distribution channels and income generating structures on the planet.
Recognizing that, we have designed the MOST LUCRATIVE COMPENSATION PLAN in the industry that combines the best of both worlds: Immediate Income, and Long Term Residuals!
Introducing, for the first time EVER, a compensation plan that pays EVERYONE...even if you never refer a single person.
- Learn how to create 4 different streams of residual income!
- Get instant access to the secrets and strategies of some of the most successful business minds in the world!
- Position yourself in front of two of the fastest growing business trends in history!
- See how average people are FINALLY achieving true wealth with our proven step-by-step system to success!
- Be one of the first to learn about this powerful opportunity, just complete the form by signing up for FREE now!
ProWealthSolutions Comp Plan Details * Fast Start Bonuses * 3 x 6 Forced Matrix (Make $1,092 without referring anyone) * Matching Bonuses 50%, 30%, and 20% on first 3 Generations * Huge Power Pools (share in the company profits)
Don't hesitate now as it's free to sign up. Look at the spillovers and decide later if you want to join or not.
and many more forums that are talking about it now! Don't delay. Sign up is FREE!