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^ ?
I support open source 100% but the analysis in the article is very flawed.
If I have an application for any os, I have the same set of worries no matter what. If its windows yes I do have to worry about microsoft developing their own and giving it away. However how many times has microsoft decided to give away stuff ? If its linux I have to worry about someone reverse engineering my product and making an open source knockoff. In the linux case if their is damage to my IP rights, who am I going to sue college kids with no money ?
His scenario is further destroyed by the fact that almost no one is upgrading with every release anymore. Theres alot of people that run win95 still even more that run win98 and a heck of alot running win2k. So if microsoft decides to include your product as a giveaway it could be a very long time before it harms your sales.
The only thing that comes close to sharecropping in the software industry is working for large software companies where you don't have a stake or a say in the management. In that case the platform doesn't matter, youre still screwed.
Controlled
Slave
Element
I can hear the squealing begin. Must be cutting too close to the bone...
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.
This is a very poor article, which makes a very poor analogy.
While I agree with the author that developing code for closed source platforms may be helping out a company, I hardly think that makes you a "sharecropper." Just because you write a program for Windows, doesn't mean it becomes Bill Gates' personal property now.
Really, it's worse than this, because the author appears to be trying to incite some kind of revolt in the programming community against all kinds of closed-source development. Uh, hello? If nobody writes these programs, how are the companies that sell software going to make any money? We live in a profit-driven world, and if there's no profit, nobody's going to do it! I think that's fairly obvious by now, just by looking at the operating systems out there. Good profits result in good software, it's just that simple.
Finally, I think the author does an even greater disservice, and exposes his bias, by referring to sharecroppers in a derogatory manner. Those who work the land should never be mocked, because if it weren't for the vast sharecropping industry in the united states, there wouldn't be any food on your plate. Sorry, you can't eat your AOL start-up disk, bucko. Also, it's a historical fact that most sharecroppers were African American, and I think the authors negative reference to them may be a veiled form of racism. I think this reflects badly on the open source software movement, and I don't think Linux Torvulds would approve. Might as well have titled the aticle, "Don't Write Software for Windows, or You're A Coon!" Pathetic.
Consensual sex is boring.
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.
I can't say I agree completely with this definition of ShareCropper.
Are You really a Sharecropper if you're developing software using well established standard API's implemented on Windows? Is it really Sharecropping to use the standard TCP/IP stack implementation on Windows? As long as the platform which you are developing for adheres to non proprietary standards, and if you're using platform specific implementations of well established standards, you are still fine. Since you have stuck by the standards, you are screwed only if the standards change, or if the the company owning the implementation decides not to stand by the standards.
So you would be a ShareCropper if you're developing software for any proprietary standard that is owned by a company.
An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
At work, you are pretty much a sharecropper anyway. Often they provide the operating environment, hardware, software, and everything else while you just do the work. Should they decide to reorganize or just make bad decisions they can terminate you at will. Even worse, often many here at their jobs are Sharecropper^2.
.NET, etc.), Oracle, SAP, etc. mostly out of convenience so they are also a sharecropepr as per the article.
:)
1. They are sharecroppers at their job as said (sharecropper) 2. Their place of employment has chosen Microsoft(SQL Server 2000,
So many of us have no choice but to be sharecropper^2 to feed our families and to survive. The system is flawed!
Even in the Database world: SQL Server 2000, SAP, Sybase, and Oracle are the leaders and the "expert" level database techs are sharecroppers. MySQL or Postgres is laughed at by many employers, I remember one interview "but do you know any real database packages".
So I ask you, are you a Sharecropper^2? But then when you think about it we are like Sharecroppers on the planet earth making some of us Sharecropper^3 even. I wonder who can come up with the highest power of sharecropping?
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 think this addition to the definition of terms just reinforces Bray's thesis. Using the "detested" Microsoft as the "farmer," we find that the free tools & stuff usually come with high-priced training attached. None of the Microsoft "standards" remain unmolested very long. Of course, the next version of the tools (which can handle the ever-evolving "standards") is often not free. And oh yeah, forget backwards compatibility -- just go look at the history of WinCE, PPC, whatever-they-call-the-Microsoft-handheld-OS-du-jo ur...
In the final analysis, I agree with Bray about the web platform ... to an extent. But go out & view source on websites & you're going to find that a distressing number are written with proprietary tags for MSIE. Those of us who care about web "standards" should be evangelizing for Mozilla or just for "validatable code" in general instead of spending so many hours b*tching about it on /.
As far as *nix or OSS, I'll have to defer to those more experienced with those thank I. My employer chose many moons ago to become a Microsoft shop, because the IT director loves getting paid in proprietary paper :-(
"Obviously, I'm not an IBM computer any more than I'm an ashtray" (Bob Dylan)
What they can do is put out a service pack (or in the probable case of Longhorn, an entire OS release) that breaks your game. Ideally, you release a patch; the problem is the worst case, where you (the developer) have to go out and get an entire new toolchain (new copy of Visual Studio, etc). Even though update prices are usually modest, you may not want to keep lots of VMWare images on your hard drive, multiple toolchains, etc.
So far, the effect has been minimal: people knew from the start that NT4 wasn't W9x, and things acted differently. However their latest moves are much more bold - Longhorn may be radically different from what we see today.
Unix is as much a collection of behaviors as it is lines of code. Moving from a.out to ELF meant patching and recompiling, sure, but the only investment is time, and in many cases you could do it at your leisure. Commercial software can get EOL'd and you have no choice but to plan your migration (witness the many companies happy with NT4, who are now forced to migrate to W2k or XP).
ZOMG I WOULD LOVE TO KNOW ABOUT YOUR FEELINGS ON MACINTOSH VERSUS WINDOWS, VI VERSUS EMACS, AND HOW YOU'RE NOT A DORK
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
This analogy is also lost in inhouse development. In this case, no matter what OS platform you develop on, you're still a sharecropper and can't do ANYTHING about it.
You must write for your company's environment. You must follow company specifications. You must use certain driver versions, DLL's, etc. You must use company network drives and directories (that can change on a whim).
Unless you're a solo developer, you're gonna be a sharecropper; you have to do whatever your company tells you to and use their foundation.
I my case, it's "all about the Benjamins." I love coding, don't get me wrong. I started doing it years ago (since middle school) and have continnued doing it only because I love writing code. But I need to get paid, and if it means being a sharecropper, so be it. If it means writing for windows, so be it. If it means writing for *nix, so be it. So long as I get to code in a language I enjoy and do meaningful work, I'm up for anything.
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"
They can make a press release like this: Windows Version 1000000 will no longer support DirectX in favor of something better, our new super gamer's library. Directx will no longer install on the windows platform. Then...You have to rewrite the game if it is made for their DirectX library (I only use it as an example because many write games in Directx).
But what's that you say, you wrote it for SDL? Microsoft in a daring move announced a brand new hardware interface to the graphic card totally invalidating all the traditional methods of graphics programming. However you are in much better shape because you can take your game to another platform easily.
But you wrote the game in Java you say?
In the most daring move ever Microsoft has totally rewritten the Windows APIs and refused to release the documentation leaving sun unable to write a JVM for Windows XP 6 Alpha (MS's release quality is Alpha software).
The point is if you write your game only for windows, you depend on Microsoft's platform. Since it is their platform they can do what they want. They can change whatever they want. They could render whatever libraries you used inoperable. They are like the game wizards for Windows.
If you're developing software for the Windows platform, then you might be a sharecropper.
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, then you might be a sharecropper.
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'm not a software developer, but I read the article and (I think) followed the reasoning. The analogy is probably a good one, but part of what is good about it is that you can extend the analogy to explain the major weak spot in the argument. If you develop for Windows, etc., you are a sharecropper---but you get access to a huge farmer's market where only sharecroppers get to sell their produce (products) and where lots and lots of customers come to buy. If not, then you're relegated to a roadside stand on a highway that may potentially get tons of traffic, but isn't seeing that much yet.
This post is dedicated to all of those
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
A practical example of this is Watson, the product mentioned above, which did very nicely, thank you, on the Macintosh, until the owner of the land brought out Sherlock, a very nice program that did many of the same things.
Going with that analogy in a competitive environment, if you make a useful widget and someone else makes an improved version...your version has to change or it is history. The Linux and open source worlds are also impacted by this -- Example: The current switch to ALSA from OSS. Part of the OSS to ALSA switch is philosophical, though ALSA does have some damn nice features.
The main difference in the non-competitive and competitive worlds is that since the 'land' is not owned the best widget can be chosen -- though not necessarily. Either way, the results can be similar; new app comes along and old app turns into worm food.
That said, the effects are quite different in a non-competitive world; I used to work for a company that was hit heavily when Microsoft bundled an acceptable replacement of my old company's utility. Sure, if MS didn't do it then someone else could have done it later...though the new commer would have to compete. Microsoft didn't have to...so the company went from ~100 down to ~25 in the space of a year. I've heard it's a 2 person group now providing another set of tools.
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
No body cares, but I feel it is my job to enlighten them and make them care.
I am what you would call Microsoft worst nightmare simply because I show people the alternative which often impresses them.
Just the other day I bought my aunt a PC prepackaged with Lindows and she was pretty excited about it. Showed here the basics and she was off and running.
The world doesn't change overnight...it changes once person at a time.
-----
One is born into aristocracy, but mediocrity can only be achieved through hard work.
Many of his arguments apply to open source OSs also. You're still writing software that supports the "land" owned by someone else (since open source is still owned, unless we're talking public domain operating systems). Open source OSs are often distributed by companies who have a lot of influence - so you're still helping those companies make money, and if those companies choose to supply an alternative program as standard with the distribution which does what yours does, then you're in the same situation as the Watson author. APIs can be broken too.
If you're building for the "Web platform", then you're in trouble if something isn't supported properly by the browser that's used by the vast majority of people; certain companies still unfortunately wield power over web development.
There are some valid points in there (eg, secret APIs), but imo the "sharecropper" analogy applies to everyone except those who wrote the OS they develop for themselves.
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.
First... sharecropper? No. When I buy a Windows product, its mine. They can't "take it back" or "decide they have a better use for it".
The best you can get away with is there are 2 plots of land available. One is free, the other costs money. Both will become obsolete in a couple of years and you'll have to buy new land. They're both in opposite parts of the country, so if you pay for a piece of land, but want your next one to be free, it'll be expensive to carry all your equipment across the country.
However, when buying land, people don't look at just the initial cost. People want to see how much they'll get from the crops, how much it'll cost to maintain the crops, etc. Many companies, when looking at the total cost of ownership, choose Windows, because they believe it to be cheaper.
Also, working for *n*x*?* (don't worry - I added that last bit myself - I have no idea what it means) most likely means you're a slave. Working for someone else, and not getting paid (yes, there are some jobs out there for Unix-types, and maybe even some more for *n*x-types, but certainly not enough to support every employee in the industry).
I prefer sharecropping to slavery.
Ok, I don't like WebForms and I don't think .NET is upto much but come on! Web interfaces SUCK if you are wanting to create a rich environment for data input. I just spent 6 months doing a project to convert a crappy set of JSPs to Delphi because users hated the browser. GUIs offer hotkeys, popup menus, custom controls, datetime calendar controls, etc. etc. (BTW, does that make me a sharecropper? I develop free software for free platforms in my spare time, but I'm paid to write software in whatever the fuck my employer tells me to on *their* time)
Web applications generally take longer to develop as well. So what's wrong with GUIs?
Right tool for the right job.
However, my Java code is portable. Same goes for LispWorks Common LISP: build once and deploy on all of the OS platforms that I am interested in. Python code is portable.
So, Bray's argument should be don't use proprietary APIs.
I do agree that writing web services avoids lockin problems. I hardly ever write standalone GUI apps anymore - everything is either a web service (SOAP, XML-RPC, or XML over HTTP) or has a web based front end.
-Mark
People who include licensed software in their products (i.e. Value Added Retailers) might be sharecroppers. But when the code is open sourced and owned by the community, then the developer is at best a squatter. They are working land owned by the state.
The good folks who move from business to business, and make their living installing Linux systems could be called migrant farm workers.
Boy, this is a fun game, we can insult white collar workers by comparing them to different types of farmers.
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.
I seem to remember that Apple came out with Sherlock, then Karelia decided to do Sherlock one better (thus the name Watson -- Sherlock Holmes sidekick). Gee, guess what? Apple did the _obvious_ enhancement of Sherlock that looks a lot like Watson. Then the Karelia folks whined about Apple doing to Karelia what Karelia tried to do to Apple. Pot = Kettle = Black it seems to me.
Yeah, it isn't any fun when the big guys move into your niche, but you can survive. It does require you to be at the top of your game, however, and to meet the needs of your customers better than the big guys. That isn't easy, but it can be done. Not whining about the situation and focusing on your products would be a better idea to me.
"All the darkness in the world can not quench the light of one small candle."
I believe you are wrong, there is new land to sow (read: open market for software applications) in the form of the web and a new software foundation with a better licensing scheme (read: OSS, GPL, BSD, etc.).
If your objective is to build a plantation (read: monopoly) then yes you are doomed to failure. You will not be allowed to own the land (read: internet, software applications) upon which all other farmers (read: developers) are also working.
The metaphor fits perfectly, its just that you are stuck in the old ideology and its barren and infertile soil (read: the MS monopoly upon which many devlopers are dependant and susceptible to the whim of their master).
Just my opinion
burnin
Browsers are good because they provide a reasonably useful least common denominator.
Browsers are bad for the same reason.
Most web based apps are about as user friendly as an IBM 3270 block mode terminal of the 1970s.
We should be doing better. We have the tools and can always rely on Microsoft to show us the route to avoid.
While this article does a nice job of illustrating some of the problems in today's computing environment, it does a poor job of explaining how to get us to stop being sharecroppers.
It's pretty obvious that it's healthier not to be a sharecropper vendor. But a little thought shows that it's better not to be a customer on a sharecropper's platform. When something good and new comes along, the chances are less that it'll be scooped and monopolized by the landlord, and greater that it'll develop into a healthy ecosystem.This is a generalization, and I'm not really sure if he's advising shareware developers, custom app/consultant developers, or everyone under the sun that working with a sharecropper's platform is bad for them. In some cases, moving to OSS makes sense and is viable. It is not, however, always good for the customer or the developer. The purpose of writing 'shareware' was always to make money, so moving to a free platform would seem to be more risky than trying to sell an app on a sharecropper's platform. How much money could Watson have made on Linux/OSS? Wouldn't an OSS alternative pop up if people liked it? Plus, people don't want to buy tons of third-party software for their apps unless they have to, and many shareware apps are cool but not necessary, so I imagine most of them do not experience massive sales and profits. The shareware market will always be a tough one, and it's not just (or even primarily) because of the 'landlord'.
As for custom app developers and end users, they just have to decide which helps them be most productive and is cost efficient. Linux/OSS is actually quite a good alternative in the enterprise, but in small business/home the do-it-yourself tech support and higher learning curve make Linux not an OS for the timid.
That's why the phrase quoted above, about flexibility and usability, is so completely 100% wrong. Browsers are more usable because they're less flexible.BZZZTTT! Wrong! (To quote the article. =) No, browsers are more usable because programmers are less able to *abuse* the interface and do *poor*, not rich, interface design. Traditional apps are not an inherently poor choice for interface design, it's just that interface design is often not given the time and resources it needs. I'm not saying browser-based doesn't/can't work under some situations (and in fact, it can be ideal in any number of situations), but let's not generalize that browser-based is clearly superior to application interfaces, as a well-designed interface can supercede browser-based in functionality and simplicity. I personally like the idea of having a web-based interface when online, and a traditional app to work with data when offline.
All computer applications fall into one of three baskets: information retrieval, database interaction, and content creation. History shows that the Web browser, or something like it, is the right way to do the first two. Which leaves content creation.More generalizations here... The web browser is *one way* to do all three, and whether or not to use it depends on what data and needs you are dealing with, not the operation (input/manipulation/output, really) you are performing. That's like saying 'history has shown that cars are the best way to get between two places'. Makes sense until you want to go from New York to London, or to your neighbor's house.
The article should really speak to a more clearly defined audience, and maybe get a little more specific about *how* to implement some of these ideas. As it stands, I don't really see much of interest in this article, except for yet another proclamation of the superiority of OSS.
My two cents is that we will see more web apps exposing APIs (ala amazon and google) and that these APIs will be used from both traditional and web apps. In other words, the border between browser-based and traditional apps will be blurred, not made more distinct! There's more than one way to skin a cat, and that's a good thing. Apps written in different languages will talk to each other, and which technology to use will become more a matter of preference than necessity.
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?
I develop software for a living. You know... so I can eat. And if someone offers me more money than I'm making now to develop something that isn't proprietary then fine. But right now I make software that makes corporate america work. When we figure out a software solution to world hunger or war... I'll sign up for that. Until then ...$$$$$$
~foooo
OK, so that was a bit of trolling, but the point is that the analogy is a very poor one indeed. The level of analysis in the article is incorrect anyway. Most OSS developers develop a specific solution to a specific problem. And if afterwards someone else could benefit from the intellectual effort already expended, then make it available (as one can witness anytime someone suggests OSS developers *should* do something like improving interfaces; the reaction on Slashdot is often rather belligerent in reply). Fine. However, this model of software production is totally unrelated to platform upon which the software runs. Even if we just consider commercial exploitation, the analogy is senseless. There are enough packages becoming standard in the OSS world (e.g., GIMP & Mozilla) that it makes it pointless to try and roll your own competitor unless you have something very special. And I don't see what stops a better project/contractor team coming down the pike and blowing your efforts out of the ground whatever model of software development you have used and whatever platform you develop for. Sure, writing software for windows my help MS sell my copies of their OS. But I fail to see how this differs from anything else we do without blinking in the real world. I post a chicken recipe on Usenet, am I sharecropper because my labour has supported a not entirely ethical poultry farmer? Where does it end this side of capitalism?
Plays violent online games as: Nerfherder76
Hey, I cashed in on it. Open Text got to be a successful vendor of content management software largely because we were the first to do it all through the browser, with no client software. Our stuff didn't do all that much more, but given a choice between client and browser, the people wanted the browser.
People want the browser not for the fact it makes for a simpler application in a GUI sense but for the fact you do not have to install and run it from a desktop. We do nothing but web apps in my company now and the reason is we have 18 different branches and no one wants to push an application out to that many individuals each time there is a fix. A thriving industry has been created by the need to install applications locally on desktops and insure the correct licensing of that software. As a consumer of software, I don't want to pay for those things. In addition, users don't want to have install an application on their desktop when they can go to a website and do the same thing.
The reason this trade-off between functionality and universal access has occurred is that people find more value in server-centric management and universal access today for those simple applications where I am entering some information or retrieving it. I think we will see the rise of "richer" web applications over the next few years because there is a need for better controls if for no other reason then productivity and efficiency gains. Working with large blocks of information on a web page can be very cumbersome to the user. Client-Server computing (VB, Delphi, insert your favorite GUI-centric language here), GUIs became much more functional in what they could do over time, the browser-based application will follow the same path, but now with the added convenience of server-based management and fixes, and universal access for all users. The user, the administrator, and the developer all get what they want. Of course as the author has pointed out we may start seeing web-based GUIs become more unusuable, but that is a design flaw of the developer and can occur on any platform.
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.
This argument is both ignorant AND offensive.
There are market realities to deal with; for example, it's not profitable to sell games on any platform except closed consoles, and PCs running Microsoft Windows. To say, then, that writing games for Windows makes you a 'sharecropper' is just offensive.
The author is telling Software Sharecroppers that they do not deserve to be treated the way they are - they are not Microsoft's/Apple's/whoever's n-----s. And there is not a damn thing racist about it, either. Unless you agree with the idea that there are some people who just deserve second-class citizen status structly on the basis of ethnicity. Discussing the fact that people are racists is not racist.
[100% ISO 646 Compliant]
SVM, ERGO MONSTRO.
What a thinly veiled attempt at a troll.
The RIAA isn't going to shut your own band's site down because you're hosting your own MP3s of original songs. Get real, buddy.
They're in the business of protecting their members, not offensively eliminating non-members. Their tactics are questionable.
Although the RIAA:mafia analogy extends to a certain threshold, the RIAA isn't *actually* the mafia.
The dangers of knowledge trigger emotional distress in human beings.
Have to say, you have a really good point.
But have you tried RedHat9?
Try installing RedHat7.1, then wipe the system and try installing RedHat9. See the difference? Yes, M$ may have Linux beat on the easy-install-all-together-ready-to-go-in-3-disks deal (note, that's 1 disc for windows, 2 for office).
However, Linux is catching up quick. We all know that the foundation of linux isn't why it's not on more systems. It's rock phuxing solid. What's keeping linux of grandma's PC is the install setup, and many distro's are tackling this problem while we speak.
As soon as I have some free time (whenever that may happen), I'd love to help contribute to an installer for some distro out there. I mean, even RedHat7.1 (and probably older even) have a fully graphical installer (still have textmode for the first half of Win2k and WinXP) and have the pre-defined setup types (Home, office, laptop, server, etc).
My big recommendation though, would be something in between the multiple choice system type selection and the individual package selection. You know, like if I select Office, then it gives me another menu where i can select from a few best of breed PIM's, Word Processors, SpreadSheets, or even Suite packages (openoffice, etc). So that I can have my pick w/o having to pick packages.
Also a simple menu with thumbnails for selecting the windowing system would be nice. And more than just KDE or Gnome (that's what redhat gives) would be nice.
Anywho, i could rant and wishlist all day, but the point is, M$'s only real advantage now is it's "easy" installer. Sure, it's integrated to hell, but as long as OSS developers stick to open standards and make an effort for interoperability then Linux should catch up in no time.
</rant>
DONT PANIC
No sharecropping for me luv! I'll be off to the basement now. See you in about 10 years.
Is it the job of an OS to provide AV detection? What is wrong with MS just leaving it to Norton and McAfee? Those two companies have spent tons of money on R&D and keeping up with the latest viruses. Now MS will use thier monopoly to destroy the market for those two companies and remove competition and choice. However, I use Linux exclusively at home so I don't worry about getting viruses.
I do think that thanks to Mozilla being such a great browser that more sites are doing better. However, that is not always the case. I am a programmer at a fortune 500 company and I constantly pull my hair out over these ASP script kiddies that get hired. The make a web page and say, "it works in IE", and then that is that. There are also still problmes with site that use JavaScript and people don't know how to write simple JavaScript. A lot of sites will use things like form_name.foo when they NEED to use document.form_name.foo. Last week I tried to order some stuff from www.tigerdirect.com and when I tried to use thier shipping calculator, I got a ton of JavaScript errors and was not able to choose the best shipping method. The shipping calculator didn't work because they tried to acces a form element without going through the document object. IE allows this non-standard practice, but Mozilla dies. This is the type of stuff I mean when I say that IE being non-standards compilant has hurt the web an made browser lock-in for many sites.
If Tyranny and Oppression come to this land,
it will be in the guise of fighting a foreign enemy. -James Madison
Outside of the price of the operating system, Microsoft (or Apple or any other company that develops os's) does not collect part of the revenue the product from the product. This is inherent in the definition of a sharecropper-- "A tenant farmer who gives a share of the crops raised to the landlord in lieu of rent."