What Business Can Learn from Open Source
dtolton writes "Paul Graham has written a fantastic article on what businesses can learn from Open Source. He covers why Amateurs can outperform Professionals, why the home is a better work environment than the office, and how bottom up ideas are better than top down. Finally he ties these lessons into the business relationship." Derived from a talk at Oscon 2005. From the article: "...the biggest thing business has to learn from open source is not about Linux or Firefox, but about the forces that produced them. Ultimately these will affect a lot more than what software you use. We may be able to get a fix on these underlying forces by triangulating from open source and blogging. As you've probably noticed, they have a lot in common."
One thing that businesses can learn from open source is that properly motivated employees can produce great things. Here we have a group of technical professionals working for free to produce great software. Employers on the other hand, have a difficult time motivating people who they pay. Motivation == productivity.
Ultimately these will affect a lot more than what software you use.
From my own observations, this part is very true but, not in the way you think. Rather than ushering in a new revenue stream, open source destroys revenue streams. So far, there are only two companies that will even claim to have made a profit from open source. They are IBM, who may have reason to fudge the numbers, and Red Hat, who claims to have scraped some skin from its teeth. All the others are either losing money or folding.
Now, before you go off on me about the "evils of corporate profit", let me remind you that without corporate profit, you don't eat or have a roof over your head or any of the other "God given rights that you enjoy. Open source is shaking up the business world alright but, it looks like it is going to make a lot of people homeless.
Well, as this may be true for you, I just like my job. I can wake up in the morning before my wakeup alarm starts, and jump out of bed, thinking "wow I wish I already was at my desk, so I can continue what I was doing yesterday". Yes I have flexible hours and can start whenever I want. Yes I work too much each and every day. No I don't get paid more because of this. But most important: No I don't mind doing this, I even like it. But I must be an exception...
int main(void) {while(1) fork(); return 0;}
There'sa lot of people in the open source community who work with motivation and fun. That's the key in my opinion.
If the great industries care about his employees, they should be a lot more productive
Codexcast, the first Spanish podcast in the world made in High-Resolution parchment. (I think so
You're assuming that you're talking to people who all work for mega-corporations with thousands of employees that can afford to let their emplyoees tinker on company time. I think that's a bit unrealistic. I know that when I hire somebody, I have a job for them to do. I simply cannot afford to have them playing around, hoping to come up with some great idea that's unrelated to my business.
I don't respond to AC's.
This guy is really insulting. He says that failing your own business "won't hurt as much." as having a real job? To say that investing every dime you own in a business, and spending every day for several years (most businesses fold in the 1-3 year range), only to see it fail "won't hurt as much" as working as a job that may not be 100% rewarding is pure bullshit.
Actually, I'd say it's this cavalier attitude about business that causes many startups to fail.
It sounds like he's suggesting that developers work at home, develop open source, and pay their rent with what? fairy dust? good will?
Another thing that keeps people away from starting startups is the risk. Someone with kids and a mortgage should think twice before doing it. But most young hackers have neither.
And as the example of open source and blogging suggests, you'll enjoy it more, even if you fail. You'll be working on your own thing, instead of going to some office and doing what you're told. There may be more pain in your own company, but it won't hurt as much.
I don't respond to AC's.
... I can tell you what the problem is with "working at home" from my perspective - I have no idea whether you are working that entire time or not. What if you tell me that a particular task takes 80 hours, but in reality it takes you only 20? I have no way of knowing that I'm wasting 60 hours!
If I have you in a cubicle, I can look over your shoulder and make certain that you are working, I can monitor your browsing, check for personal emails, etc - in other words, I can track how you're spending your time and if you're ripping me off I'll know it.
I've found that this is a particularly bad problem when it comes to software development. Most American developers lack the maturity and responsibility to be allowed to "work from home".
I think the important part of OSS is that teams are built on individuals' technical ability rather than race, creed, colour or indeed paymaster.
rd
His opinion, while interesting, is incredibly naive. It's great that there was recently a posting about the spread between "good" programmers and "average" programmers. Much of what the author talks about represents an incredibly small portion of the overall developer community. While there may be some people that would flourish being given freedom to work from home on a project that they found interesting, the fact is, those types of projects are fairly uncommon (the real challenge is to take the "mundane" project and make it interesting) as is the person who would actually benefit from this. Let's face it, the majority of developers would not see a similar leap in productivity. They might enjoy their lives more, but it certainly would not relate to higher productivity.
The author mentions that M$ can't motivate its IE programming staff to come out with a "better" browser than FireFox. Well, discounting things like dealing with the codebase you have inherited, lets face it, M$ operates by putting their A Team resources where they perceive they are needed the most. Right now, they kick butt in the browser wars (even against "better" competition), so there isn't a perceived need to "have to come out with something significantly better". OTOH, the FireFox team does nothing but produce a browser (kinda), so of course they HAVE to be better. Would a new browser that was only "just as good", or even "not quite as good" been acceptable for the FF team, obviously not. So to assume that the quality of software coming from both sides has more to do with amateur developers vs non motivated professional developers is simply not looking at the bigger picture.
No exception there, I was here until 11 last night, and I'll probably be here until 11 tonight too.
Not because I have to, the other day I wanted to look round a new house, so at 4 I walked straight out the door to take a look. A few days later I wanted to see a movie with a friend, so I walked out early and got a bus into the city.
Some days I oversleep, get in for lunch. No-one bugs me about it. Sometimes I get a call from work on a Saturday. If I don't answer, big deal, they'll try someone who isn't busy.
But I get the job done, I enjoy doing it, and I get paid a reasonable salary. If someone figured out how to give us food, shelter etc. for free, I'd still come in and do this job (but maybe I'd do some things a little differently since I would be my own boss). Some (but not all) of the other employees would come in too, but I guess we'd have more trouble finding security guards, those guys don't look like they're enjoying themselves.
Most people can think of a job they'd like to do. Some of those people are qualified to do that job, and some of those actually get it. It's unfortunate that the proportion is not greater, but I think those stuck in jobs they dislike have better motivation to do something about that than I do.
It's crap anyway. When I work at home, I'm not as productive as when I'm at the office. If I need to put in more than forty hours, I go back to the office on saturday.
Anything else, and I end up time sharing between working and fragging...One day I'd get teamspeak confused with my hands-free phone and call my boss a spawn camping n00b lamer, and that would be it.
I'll tell ya though, I hated being freelance. There was no "at work" and no "off work" there was just work, and everytime I sat in front of the computer it would reproach me.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
When people are paid for units of work rather than hours they will try to do anything to get themselves more productive. And number one step is lowering the quality as much as they can. I have seen this happen in real life.
The one thing that makes FOSS better is in my opinion the fact that in most cases you are working on something you are going to use yourself. You care about quality, maintenance and you will not try to cheat.
Some people live to work.
Others work to live.
I learned some time ago that one group has a hard time understanding the motivations of the other.
Distinction between work and personal life is a very fresh concept, connected with capitalism and work for hire. As someone already mentioned it does not exist if you run a restaurant. It doesn't exist if you are a farmer. Hell, it probably doesn't exist if you run any kind of private small-scale businness.
It didn't exist in pre-capitalism era: families worked together, dined together. Even if you were hired, quite often your brother/sister worked at the same place. Women were taking their babies to work or were gathering together to spin wool or linen, to sew and so on.
So it seems that this distinction was artificial and caused by a fact that if some people have to be in the same physical location to work and they have to commute - it is more efficient to separate their work time and leisure time. But with introduction of modern communication methods more and more jobs take different trend: work at home, feel comfortable, manage your time yourself, your employer is only interested in results, not means. And this means switch from time based work to task based work - which in fact is a return to natural state.
Wouldn't you like to spend your day at home, with your family, just retreating to your home office if you need to focus a bit more on work, have a lunch at home with your wife and kids than to commute everyday, order a pizza for lunch, and then spend an hour and a half driving back home? Do you like explaining to your boss that you have to take a day-off because of some reconstruction in your house or something?
With a laptop I can do my work while laying on my sofa and listening to my favourite music on my home stereo - and that is when I am really productive.
Cheers
Raf
And what happens when your employer finds someone who is prepared to work 40 hour weeks for half the money?
I'm from a land where you can't be fired for no reason, and I'm not sure what things are like in the US - is there pressure for everyone to take pay cuts? My impression was that this isn't the case (indeed, the US tends to have higher salaries than elsewhere), so I wonder why people fear they need to work as many hours as possible, but they don't feel pressured into taking a pay cut?
The thing to watch out for with this setup is burnout. I really love my job, but several years of throwing myself into 60+ hours/week was really taking its toll last year. I'm lucky enough to have a very understanding boss, who considers me vital to the company - so he restructured my department a bit, gave me an assistant, and helped me setup a home office. Now I work a more comfortable 35-40 hours per week, from a spare room in my house converted into an office. My productivity has actually gone up, and life is a lot happier.
So no, you aren't an exception (I've known plenty of people with similar feelings), but I recommend keeping an eye out for overdoing it!
Lead developer, http://wisptools.net
when I am 45 I will be sipping on a margarita in the bahamas while you are still working 40 hours a week to make rent.
Not likely. While I completely agree with your work ethic I hope you don't really expect to be independently wealthy at 45. Besides, as someone who spent his unemployed days coding you probably would not be happy sitting on the beach all day.
I'm not sure what you're proposing: that only the developers drive the product requirements? Certainly that doesn't work. Customers ask for ridiculous things sure, but it's the job of product mangement to determine what's the true need behind the ridiculous request, and implement something feasible that meets that need.
I've got an anecdote myself about a bit of software from where I work where enthusiasts were running the show:
I joined the company I work for about two years ago. We had a piece of software that had been more or less run exclusively by the engineering department. The company had a large team on this software, and they had been plugging away at developing it for about seven years. The team was highly motivated: they were adding the features they loved, and they were extremely proud of what they had created.
The only problem is, there was basically nobody that wanted to buy it. The developers loved the software, and there were a few enthusiasts that loved it too, but the project had been losing money for years. The situation became so bad that after looking at the cost and time to completely redesign the software, the company decided to just lay off the whole team and license a competing product.
These developers had been working in the fashion that Paul Graham describes. The problem here is that there's a difference between software for profit, and open-source: if few people use a piece of open-source software, it can continue to exist. That's not the case for something that has to pay the bills.
Open-source has produced some great software, and I personally use Linux, KDE, and Firefox extensively, but not all "amateur-driven" software is guaranteed to be good. If you're ultimately not making what the customer wants and they're not buying it, you can't justify the payroll for the programmers.
If there's anything business tends to learn, for a combination of reasons which do include constant onslaught from those who are reflexively anti-business (attack and your enemy defends, it is easier to influence friends than defeat enemies), it is to do things as cheaply as possible.
Coders have as much right as anyone else to be paid for their work. Oh, but here comes Free Open Source Software. Legions of geeks willing to write all sorts of code you find useful and you can use it in your business. They want you to. Who needs to pay coders' relatively large salaries now? Now you have a cudgel in the fight against giving the coders the pay they want and feel they deserve. Why pay $60K/year to someone writing in-house apps when you can pay some geek who couldn't maintain a job at Dairy Queen but who has really good Linux skills half that?
THAT is what business learns from FOSS. And all OSS is FOSS in the minds of the majority of the OSS using and writing world. It certainly is in business. A way just needs to be found to insure that is is FOSS.
The socialistic and chintzy anti-corporate "free, free, free" brigades and the corporate "closed source if we can help it, open source if we pay nothing" people need to call a truce and establish a way that coding can be open to future learning from it without denying fair IP to anyone or making it hard to earn money from your labors or for those who are not in OSS. Corporations will always make money. If it is not handled right, then they will be the only ones making money and those doing the programming will make little to none. All because of blind fanaticism, inability to see the forest for the trees, and unwillingness to do what is needed in the way of compromise and different approaches to the conflict.
Not for nothing my day job isn't programming or supporting same anymore.
If my grammar and spelling are off, I am [distracted/tired/careless] (take your pick)
I actually get more thinking done on the subway during the commute. If I could dispense with the ten hours per week plus the 40 hour wasted there,I'd actully be much further ahead.
Meanwhile, I tried to telecommute for a week while telling my boss that I had pneumonia. I got more done in that week in my underwear than in the rest of the month. He still insisted that I haul my carcass in thought and my productivity went up in smoke.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
I used to go to the office on Saturday too. It was my most productive time, since there were no interupptions from coworkers.
Now I work from home, and every day is like that.
Any kind of work can suck. Therefore, group project work can suck. But it can also rock. While there are some random elements nudging such work on the sucks/rocks continuum, I think the majority of it is systematic. That is, it sucks or rocks in direct proportion to your own actions within such groups.
Notice that I didn't say "in direct proportion to the actions of all the people within such groups." You -- each and every individual -- has the capability to turn pretty much any group into a functioning group.
The fact of the matter is that most people are poor at interacting in group work -- that is, maximizing their own potential within the group, and maximizing the potential of the group.
Everyone pines to end up on the team in which, by luck, everyone gets along well and works hard and competently and things just end up going great. (I think this usually happens in the context of self-selected groups with high barriers to entry; I'll give an example of this that I've seen recently later.) These teams happen, but rarely. You're a sucker to wait for such things to happen. Make the team work.
To try to put this all in context, I'll provide a few examples here that I've experienced in the realms of university, working life and Open Source projects, and also tag on a few academic references at the bottom.
My undergraduate degree was astronomy. (Undergraduate astronomy is basically an amalgam of compsci, physics and applied maths.) Group work was mandatory in that program simply because the problem sets (with about 2 due a week) were far too big and difficult for any of us to regularly be able to individually complete. So we did a lot of group meetings to work out the problems. Sometimes they were "sharing" meetings, where we'd each get a question or two on our own and bring them all together in the end, hopefully with enough time left over for each to present a mini-lecture on the thought processes that led to the solution (without which you'd be pretty much toast when the same kind of question appeared on an exam), but occasionally a problem would be too difficult for any of us to solve individually and we'd have to group-work a single problem together. (Or maybe get it from the notes of someone a year or two ahead of us. :-) ) This
worked out pretty well, but this is probably an example of people who
are naturally hard working and intelligent self-selecting themselves
into the group. (You don't take undergrad astrononmy by accident,
after all.)
Fast forward 7 years... and now I'm in a top-tier MBA program. The differences between the programs are enormous. There are 330 people in my year, not 8. People come from a wide variety of backgrounds and there is a wide variety of skills, both kinds of skill and amounts of skill. Group work is built into the program at a dozen different levels rather than just being something that happens "by accident." We don't have 4 years to get to know each other and learn how to work with each other (and build up levels of trust and game-theoretic dynamics): some groups are meant to last for several months, others for several hours. And guess what -- they all worked out great. Sure, there was an occasional slacker (be it for reasons of disposition, or because they had a death in the family so they had to run off for personal reasons, thus leaving the rest of us to pick up their slack), but it didn't happen all that often and it was never anything that the rest of us couldn't reasonably absorb. With pretty much every group project my teams managed to find a way to make things work ou
Professional atheletes and actors are two special cases. The only people who can rise to their level, love doing what it is they do. When a star stops loving the job, watch them fall. On the other hand, many of these people will work for free, (or scale wages) if the job is exactly what they want to be doing right now.
Another observation is that at that level, the coaches and directors hire other people to do all the mundane stuff that the atheletes and actors don't want to do, that isn't related to the exact job itself. I.e. if the star doesn't like driving, there's a driver and limo to get him wearever he needs to be.
All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
Look mate, it was a joke - get over it.
I wasn't trying to insult you at all, I was just tickled by the thought of Feynman sitting reading slashdot. I happen to be something of a fan of his (e.g. the Lectures persuaded me to take a Master's in Physics), so when I read someone mentioning him, I tend to take notice. Incidentally, if you haven't already, get a copy of "Don't you have time to think?", and read the letter to his former student (sorry, don't remember the name) who wrote about his boring job. For that alone, the man should be remembered.
But I repeat, please don't take it personally, because it wasn't meant that way, and I didn't expect that kind of response from the crowd around here!
Iain.
PS I knew about the radio fixation in his earlier years, and I think Murray "Don't fail to put equal emphasis on the following syllables" Gell-Mann could just as easily have been describing Feynman as a child in the bit I quoted.
Mod parent down.
I work mostly at home and have a wife and kids (well, kid). And my home office is a much better working environment than most if not all offices I've worked in.
Why? First, the comfort level: I have it configured to suit me, not some facilities manager. And when I need a break to recharge my brain, I can play my music at most any volume, read /., watch Apollo 13 again, or do most anything. In an office, I'm lucky if I can get decent coffee.
Second, having the sounds of family around me is soothing and conducive to the mental state in which I am most productive. I actually find it easier to work on weekends when they are in the house than those occasional week days when the solitary emptiness creeps past my best discipline and makes me feel oh so alone... ...those are few, and they are, IMHO, the hardest part of working at home. Overall, the benefits outweigh the disadvantages, so I've adapted and accepted that some days I will need to force myself that much more, that my work will be far harder to do because my being alone has made me lonely.
In an office environment, the ambience is often that of stressed out or gossipy workers being unproductive. That's harder to blot out than the sounds of family life.
(Not true of the best software development environments I've worked in, where everyone was keen and kick-ass. Those were too few and all too fleeting....)
Perhaps it is simply that I am lucky in that my family life is good, strong, and loving. But then again, I work very hard on that as well.
YMM - and probably does - V.
I'm here EdgeKeep Inc.