Don't Be a Sharecropper
An anonymous reader writes "Tim Bray, best known as an XML Heavy, has an
entertaining rant about why you should be developing for *n*x, OSS, or (especially) the Web. Because if you're on a proprietary platform, you're a "sharecropper"."
A farmer who works a farm owned by someone else. The owner provides the land, seed, and tools exchange for part of the crops and goods produced on the farm.
Unfortunately there is little land left to start you rown business (read: software company). Perhaps you'll get a garden sooner or later, but in the end the chances are against becoming the next Microsoft plantation.
Damn, need to find some better metaphors here!
--------
Free your mind.
Since I haven't paid for a Microsoft license since Windows 95, I consider myself a squatter.
OK I have to ask. What the heck is this?
I was willing to tolerate *nix, since it might, however remote and esoteric, be an attempt to gather all Unixes under a single label. But *n*x?
I sure hope it does not deteriorate to a four-letter-word-like ***x. Or maybe *x or x^ ?
Then what does developing the cygwin libraries make you? A serf? A blockbuster?
Also, an inaccuracy in the article:
"Are You a Sharecropper? If you're developing software for the Windows platform, yes. Or for the Apple platform, or the Oracle platform, or the SAP platform, or, well, any platform that is owned and operated by a company. They own the ground you're building on, and if they decide they don't like you, or they can do something better with the ground, you're toast."
This doesn't even make sense to me. The analogy doesn't work. If I code a game made to work in windows 98, Microsoft can not (at this point) block your game from being run at the OS level (aka "taking away land") but really only through suing you to stop the game from being distributed.
Do I have this wrong? This doesn't sound like being a sharecropper, but living next door to a cranky neighbour who might sue you for keeping your lawn unkempt and lowering neighbouring property values.
sharecroppers.
He gives the story of Watson vs Sherlock. But what if sherlock was someone's open source/free project. What is the difference from the viewpoint of the "sharecropper" between having the rug pulled out from under you by a new piece of software that gets added to windows and a free version that someone develops. To the end user, they both look free (as in beer of course.)
Rise programming proletariat, rise and be free!
All computer applications fall into one of three baskets: information retrieval, database interaction, and content creation...
Huh. So, when I'm fragging bad guys in Quake, is that "database interaction" or "content creation?"
Browsers are more usable because they're less flexible.
"Gosh, this ball and chain is great! I don't have to run anywhere near as fast as I used to in order to get the same amount of exercise!"
Any sufficiently advanced technology is insufficiently documented.
Like many high profile OSS ranters, he's ignoring the fact that if most workers try to challenge their company's existing model (the sharecropping model) they are likely to be firebranded in their jobs or worse. Fine if you work for yourself or whatever, not fine if you have bills to pay and a status quo to keep.
We'd all love to get paid to do interesting stuff on exciting platforms (I'm an RHCE, but in my current job we don't even have a Linux box in the building). Unfortunately, boring stuff on Windows keeps the rest of us (and our numbers are dwindling) in jobs.
I might be modded a troll, but then some mods have more time and more idealism, others are pragmatic.
"It's not your information. It's information about you" - John Ford, Vice President, Equifax
How about a small pulpit icon, to represent that the following story contains religious views regarding open source software?
While there are many of us who enjoy contributing to open source (myself included), the fact remains that the majority of people who program for a living are constrained to do so on proprietary platforms of one form or another, even if they are working on proprietary applications built on top of open source software.
Articles (and topics) such as these, while nice trollbait and conversation fodder, nonetheless constitute a view that is basically a religious viewpoint - the position that giving up your evil proprietary platforms and converting to one of the true open source ways will save you, while somehow not causing you and your family (and bandwidth hungry habits) to starve to death, is as much a position based on blind faith as any other I've ever heard.
Until the people put Microsoft back into it's place (OS Development only) and also break the DirectX sharecropping the whole point is moot.
But look at who's gotten sharecropped.
Winzip
Realplayer/MusicMatch
Netscape
I can go on..
It's true anytime someone comes up with a good idea MS goes ahead and builds it into their OS. Look at what they did to Java when it came out you had Sun Java and MS said nope.. lets make MS Java and make it work better with windows than Sun Java..
They took HTML and did the same thing.. Now many people have to program for IE and then the Other browsers as time permits.
Basically the inability of the US courts to stop Microsoft from doing what they continue to do is the same as the south winning the civil war.
It's an idealistic rant, and as with most idealistic rants you should listen, remember a few points, and then go back to what you were doing. If you get all nutty and won't touch anything but Linux, for example, then you're just hurting yourself. Look at it this way, over 50% of homes in the United States (don't know about other countries) now have PCs, and 95+ percent of them are running Windows. That's a big, big, big market. Getting all high and mighty doesn't make that go away.
It was so wonderful when the browser interfaces came on; the vendors had to discard all those stupid sliders and cascaded menus and eight-way toggles, and only leave the stuff that mattered.
There are badly designed GUI apps, but there are also badly designed web pages, and badly designed web interfaces. I teach at a school that uses a browser-based system for entering grades, scheduling classes, etc. The interface sucks, because it's slow and unresponsive, and you have to click through many web pages in a row in order to get where you want.
There's also a problem with saying web==open. A lot of web applications use proprietary extensions, like Flash. Actually, one of the coolest web apps I've seen recently is a Flash video game on a Harry Potter web site.
Find free books.
This article has the fundamental flaw of completely ignoring the market place. While it's great that there are folks out there who can make a living creating applications for *nix platforms the bottom line is that that just isn't true for all of us. Look, for example, at the games industry: despite how much we want people to make games for, say, Linux there just isn't the market to support Linux only (or even *nix only) game development right now. If studios want to make their money back on big budget titles (which is what the consuers want to play) then they need to sell a _lot_. That's just not going to happen, as I think Loki amply demonstrated - they did a great job, but even without the costs of initial development (they only did ports) they couldn't keep it together long enough to avoid going out of business. The market just isn't there.
The article ignores this idea completely, to it's detriment.
Behold the Power of Cheese!
How many times has MS given something away????
Let's see... should we start at the beginning?
Imbedded Tiny Basic into MS DOS - removing all language competitors
Included primitive Games with windows
Included Disk Compression, virtually putting Stacker out of business.
Included Lan management software into the operating system, causing pain to 3com, Novell, and others.
Gave away the browser, causing serious financial strain to Netscape
Bought Hotmail (free email), and gave away browser-based email.
Included a bazillion features into the office suite, eliminating lots of specialized software applications.
Gave away SQL for small apps, in the form of MSDE.
Microsoft has made a practice of eliminating competition by giving away software! Where have you been?
If you're doing something I don't approve off (ie; developing software for a closed system) you're dumb and I'll use a whole page on this here interweb to tell everyone.
Okay. so he has one or two points, the first is that the corp that owns the OS can develop their own software and give it away to push you out of business. Funny, I can't say I see that MS Paint or even Adobe PhotoShop (btw, by his logic, Adobe are sharecroppers) have prevented PaintShopPro from becoming successfull... I don't see how the inclussion of CD-burner functionality in the latest OS from the softwaregiant we love to hate has slowed down the sale of for instance Nero... and despite the fact that a certain company bundles a browser with their OS, Opera and other alternative browsers seems to be gathering followers by the minute.
His second point is more strained; that the one controlling the OS is the one in controll of all sotware that runs on it. This is, as even I can see, stupid at best and FUD at worst. If this held even remoptly true, each and every firm that makes any sort of software, be it wordprossessors, MP3-rippers or graphicsmanipulators, would provide their own underlying OS to stop others from using it to something else... No one can controll what people run on their computers, no matter what OS.
There will always be a marked for second- and thirdparty developers on all operatingsystems, both closed and open source. The difference is, if you develop for closed source, it's more accepted to actually ask for some money to compensate for the time you too to write the code.
So in the end, I'll say he is plain wrong. There are a number of good reasons to develop for OSS, but this is not one of them.
Everything in the world is controlled by a small, evil group to which, unfortunately, no one you know belongs.
I just had a conversation about this topic with one of my co-workers: Seems Microsoft just lets new software markets run until a clear victor is decided by the end users, then they completely redo it and destroy the competition taking the valuable ideas from the previous victor.
One way to go is to cross-platform develop. Most of the development I do is for games and as such I use allegro:
http://www.allegro.cc/
If you go to the site you'll see plenty of mediocre games, but once you realize the power and dev-friendliness behind the allegro library you'll be hooked.
One could create an OpenGL accelerated game (using AllegGL) without changing a line of code! Realistically, you would want to change some code anyway, but everyone interested in game development should check it out.
The only thing it's missing is a bonified network library. It has some out there, just none that I would consider complete or complete & useful.
Can't wait to finish the game and then release it for DOS, Windows 98, ME, 2K, XP, Linux -- possibly Mac and even BeOS! (stability issues with the last two, I believe.)
As much as I would enjoy not building MS-centric apps, tools, etc, it pays a lot more than building free stuff. Building only free stuff would be okay if you're independently wealthy and have no life.
Here's an analogy. Say you live on an island of vegetarians. You do happen to have your own land, and decide to raise pigs. That's fine and dandy, until you need to sell your pigs to pay the bills.
Redundant, perhaps, but hey, I get tired of this you-suck-if-you-support-MS ranting. Really, we all do what it takes to pay the bills. Maybe rather than sitting around ranting anti-MS, people could try doing something like making actually useful, easy-to-use-and-configure-for-the-bonehead-masses stuff.
Hmph.
"Would it kill you to put down the toilet seat?" -- Maya Angelou
Where the land shall belong to the farmer
adapted from Rabindranath Tagore's GeetanjaliWhere the system software is transparent
Where the programmer can develop without fear (of the owner)
Where the clear stream of reason has not lost its way
Into the dreary desert sand of dead habit
Where the mind is led forward by thee
Into ever-widening thought and action
Into that heaven of freedom, my Father, let my country awake
There are two kinds of egotists: 1) Those who admit it 2) The rest of us
Bray jumps from the Watson/Sherlock experience to branding everyone who uses proprietary tools as a sharecropper. His argument would be more convincing if he cited more than this single case of a big company pulling the rug out from a little company. (Yes, they exist, but they are few compared with the number of working developers.)
In any case, what Bray is really saying is that if you develop for open source and/or the web, then no one is going to come along with a new product that mimics or competes with yours.
Of course, that's wrong. Competition exists. In fact, a case could be made that opportunities for competition in the open source arena is greater than in the proprietary arena because the cost of entry, development and distribution are much lower. (E.g., see Gnome vs KDE)
-- Slashdot: When Public Access TV Says "No"
No, but sticking to one's principles does. Imagine all the things down through history (including OSS) that would have never happened, if they had all said: "The majority is too powerful, let's give up"?
But we're essentially talking about _operating systems_, something that geeks get all hot about but no one else cares. And it isn't even all that easy to explain to someone--even a technical someone--why Linux is "superior" to Windows. Many, many intelligent programmers use Windows for software development, not because they have to, but because they prefer it. So what it all comes down to is that "principles" in this case are pretty thin, like "Which is better, Buffy or X-Files?"
Most people don't care what operating system they're using. They care that they can edit photos or play games or write books or whatever.
I have been in a similar situation.
I do a lot of computer-technician stuff on the side, like fixing servers, installing software, repairing computers.
What I really like to do is work on server programming and linux system configuration, but I generally do not get too much call for that. Most of the money I make on the side is usually gained from fixing whatever crappy software incompatiblity problem introduced in the latest version of Internet Explorer or windows.
In specialized industries (read Apartment Management as one) companies tend to have VERY expensive software that only runs well on one version of windows or on one version of Internet Explorer. When the companies who wrote this software went web based they tried to use ActiveX controls to give them the exact same power over user interfaces that they had when they were developing their stuff in Visual Basic or C.
99% of the support calls I get is to go out and return IE to version 5.5 after it breaks compatibility with some overengineered web based application (that depends heavily on ActiveX for cute menus and the like).
To add insult to injury, software companies in these specialized markets tend to like to keep their customer's data close so they cant switch providers. Usually this means that the web based software is hosted on some machine far far away, that no one but them will ever have a chance at debugging.
People try to use their existing models far after they are outdated, and it only hurts the customer. Just ask anyone in the Appartment Management industry how many times they have been burned by vendors.
-Jonathan
The Ro Factor - Jeep/Linux Weblog
Try:
* Browser
* Disk Defragmenting
* Disk Diagnostics
* Media Player
* Remote Desktop Access
* TCP Stack
* Terminal Emulator
* Accessibility Extensions
* Zip file utility
* I'm sure there are more, that's just from the top of my head...
Each of these *was* a viable community of third party software. Now they are just assumed into the OS. Some still have product out there, because of entrenchment. Microsoft says this is good for the consumer, and frankly I have to agree in most cases. But don't say "how many times", because the OS encloses more space on every revision.
Sig under construction since 1998.
He kind of misses the fact that there is a market out there, and that, well, growing carrots on your own farm doesn't really help if there is NO MARKET for carrots.
Saying "Do not develop for proprietary platforms" is absurd, that's where the money is, that's what everyone uses at the moment.
In a good software product, the core elements will be portable, and moving to a new platform, if need be, will not be a problem...
it's analogous to a sharecropper using his own techniques to grow food, which are only known to him, and also having his own, smaller farm on the side, as well as having a few leads on new land where people are encouraging him to come over and develop. His big sharecrop might not be great, but he has options.
Saying it is about OSS is rediculous.. if Linux for some reason ceases to be a desirable platform for people, your software business is in the same boat... your farm up and left.
There are many rasons to develop for OSS.. but this isn't one of them. Developing for Apple, or Microsoft, or anyone, yes, you have to worrk if that one vendor stops supporting development.. but to stop supporting developers on your OS is suicide.
Now musicians, on the other hand... Up until the Internet, the only way for a band to get national coverage was to buy into the RIAA's sharecropping scheme. Now you can put your band's MP3s on your web site, but chances are that (among other things) the RIAA will see that you're hosting a bunch of MP3s and have your ISP shut you down. Music is a much closer analogy to sharecropping than programming is.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Tim Bray might be an "XML Heavy," but he's obviously never set foot on a farm. He throws around the word "sharecropper" as if there's a stigma attached to it, when in reality sharecropping is a way of life for some people, just the same as working an assembly line or in the mines is a way of life for others.
My wife's family owns a 600-acre farm in southern Illinois. We have a sharecropping family that has farmed the land for over three generations. They have lived rent-free, all utilities and taxes paid, during this entire time. They are paid a fair wage in addition to bonuses from the farm's profits. College, if they choose to attend, is paid for. Their income, once the fringe benefits are added back, is probably greater than the average income for all professions in the St. Louis area. I can say for a fact their income is higher than most unemployed IT workers, and there has never been a layoff since the early 1800's.
I believe Mr. Bray was trying to be politically correct by using the term "sharecropper" when he really meant "indentured servant." Let's face it: Anybody who works for somebody is an indentured servant, especially if you are tied to said employer for necessities in life such as health insurance. Unless you have the good fortune to be in perfect health and can secure your own health insurance, you are, in fact, indentured to your employer if you depend on their group status for insurance.