When you have a lot of people all making little changed everyone starts to loose sight of the Big picture and you run into a Too many cooks spoil the broth.
Why?
He's big on automated testing. He's big on frequent, small integrations. Ideally, every developer integrates with the bleeding-edge source code at least once a day. That's why the changes are so little! No one strays too long from the work of everyone else.
It may seem like anarchy at first glance, but if you read a little closer, you'll see that there are strong behaviors in place to prevent that chaos.
I think you're mischaracterizing the piece; I may have done a poor job of communicating.
Regarding scripting, I said that choosing to build or to buy an engine is one of the most important considerations. From there, I segued into scripting languages and considerations. It's a trend that I've seen and that came up repeatedly at the conference. Having reusable engines with highly-scriptable components can make it much easier for indies to gain a foothold. That's worth considering both for the people who make the engines and for the people who use them.
As well, the figures of 25,000 units and $5000 cash are by no means a guarantee. Those are rough estimates, intended to contrast multi-million dollar projects that sell hundreds of thousands of boxes. (I can't find the exact figures Tunnel used, but you're right that $5000 worth of work isn't very much.)
I'm not sure where you picked up the idea that Wal-Mart or Best Buy will ever pick up an indie game. That's certainly not something I intended to convey -- see the paragraph that explains how Wal-Mart takes a small percentage of any publisher's catalog. That's why I discussed that indie developers will have to find or make their own distribution channels, such as Internet-only or CD-on-demand services.
It's not a free market if you put conditions on it.
I'm not saying that there shouldn't be conditions on the market. I'm not even arguing that artists don't have a legal right to determine the scarcity of their work.
I'm saying that it doesn't make sense to say that the free market has spoken when the outcome has more to do with external conditions than free market forces.
If famous musicians are making that much, then obviously that's what the free market has determined.
The artificial scarcity of copyright has very little to do with the "free market". The number of people downloading copyrighted music is a better indication of the state of the free market.
So, if you listen to the latest Britney song 1000 times, you owe her some cash. And why shouldn't you?? If you listen to the song that much, obviously you're enjoying it.
Not necessarily -- you could just have a roommate or an officemate tuned to a ClearChannel station.
VA doesn't make money off of the book. Now krow has talked about offering Slash hosting and custom Slash consulting, but I'm not sure he has the time to do much with it. It's probably not a big enough market to sustain VA resources, either.
OSDir isn't owned by O'Reilly. It is a member of the O'Reilly Network, but it's Steve Mallet's baby. Steve has been thinking about SourceForge for over a year. (13 months, today, according to the link).
There are also, to the best of my knowledge, no open specifications for this hardware. Please feel free to set me straight if I've just overlooked them.
I have an ATI card. I'm running Linux. I'd like to combine the two.
The problem is that refactoring and testing are not productive per se.
Neither are rewriting bits from scratch and debugging, yet they're very popular.
Don't ditch upfront design yet. Just because it's hard doesn't mean it's not worth it. It pays off in the long run.
As Fowler points out in the article, spending a lot of time in upfront design is appropriate when the requirements are static. What happens when they change?
When you write your tests first, you get several benefits:
a comprehensive test suite, built incrementally
immediate feedback on the state of the system
confidence that the test works (it should fail before you add the feature) and that the feature works (it should pass after you add the feature)
very quick debugging (if the tests passed a minute ago and don't pass now, whatever you just did broke them)
better API design, as you have to use the interface immediately
simpler code, as simpler code is easier to test
easier refactorings, as the code is already simple and tested
Bugs do happen in test code occasionally, but if you write small tests and small bits of code, it's really easy to catch them. It takes some work to get into a test-driven mindset, but I haven't met anyone who's tried it without realizing the benefits.
XP is not for you (as an individual) if you are a coder who always makes the right decisions and works several times faster than any other coder. It is not for you if you already write bugfree code. It is not for you if you are so far ahead of everyone else that they can only stare at the horizon, wondering where you are.
I find it hard to believe that all of those things are true. I also wonder how many fewer bugs you'd have needed to fix if you practiced test-driven development, or if you'd had code reviews in place (as pair programming promotes).
Then again, writing software has made me paranoid and cynical, so please don't take this the wrong way. I simply want to say, "It's hard to believe -- I've never seen software developed well as you describe."
A company that has looked at GPL code and produces something similar under a BSD or closed source license could come under scrutiny and the copyright holder could just say they copied the code and start investigating or litigating.
Can you point to one instance of this happening? For example, some *BSD developers read Linux kernel source code occasionally, and re-implement some of the ideas. Per my understanding of the GPL, that's fine, as long as actual code is not copied.
And it doesn't have the most dicey quality of the GPL: its viral nature.
Brett, you'll be pleased to note that our scientists have come up with an inoculation that will protect you. Within six months, you should be able to go to any reputable doctor or medical clinic within the US, Canada, or the EU and receive the JDDMGSC* shot.
You have very curious definitions of the words original, profit, and donate. You might also do well to consult a dictionary about derivative and distribute. Best of luck.
Why?
He's big on automated testing. He's big on frequent, small integrations. Ideally, every developer integrates with the bleeding-edge source code at least once a day. That's why the changes are so little! No one strays too long from the work of everyone else.
It may seem like anarchy at first glance, but if you read a little closer, you'll see that there are strong behaviors in place to prevent that chaos.
Yeah, but if they could talk on a payphone while driving, they'd probably drift. :)
I think you're mischaracterizing the piece; I may have done a poor job of communicating.
Regarding scripting, I said that choosing to build or to buy an engine is one of the most important considerations. From there, I segued into scripting languages and considerations. It's a trend that I've seen and that came up repeatedly at the conference. Having reusable engines with highly-scriptable components can make it much easier for indies to gain a foothold. That's worth considering both for the people who make the engines and for the people who use them.
As well, the figures of 25,000 units and $5000 cash are by no means a guarantee. Those are rough estimates, intended to contrast multi-million dollar projects that sell hundreds of thousands of boxes. (I can't find the exact figures Tunnel used, but you're right that $5000 worth of work isn't very much.)
I'm not sure where you picked up the idea that Wal-Mart or Best Buy will ever pick up an indie game. That's certainly not something I intended to convey -- see the paragraph that explains how Wal-Mart takes a small percentage of any publisher's catalog. That's why I discussed that indie developers will have to find or make their own distribution channels, such as Internet-only or CD-on-demand services.
The Mac dev center has been around longer. :)
It's not a free market if you put conditions on it.
I'm not saying that there shouldn't be conditions on the market. I'm not even arguing that artists don't have a legal right to determine the scarcity of their work.
I'm saying that it doesn't make sense to say that the free market has spoken when the outcome has more to do with external conditions than free market forces.
There are the freely-available O'Reilly books online, there's Safari with over a thousand books in electronic format, and there's the O'Reilly Network, with weblogs, articles, and book excerpts.
The artificial scarcity of copyright has very little to do with the "free market". The number of people downloading copyrighted music is a better indication of the state of the free market.
Not necessarily -- you could just have a roommate or an officemate tuned to a ClearChannel station.
VA doesn't make money off of the book. Now krow has talked about offering Slash hosting and custom Slash consulting, but I'm not sure he has the time to do much with it. It's probably not a big enough market to sustain VA resources, either.
OSDir isn't owned by O'Reilly. It is a member of the O'Reilly Network, but it's Steve Mallet's baby. Steve has been thinking about SourceForge for over a year. (13 months, today, according to the link).
You're right, I forgot to mention both here and in my weblog that I have the Mobility Radeon 9000. Thanks for pointing that out.
Feel free to read the link again; there is no DRI support yet for my hardware.
There are also, to the best of my knowledge, no open specifications for this hardware. Please feel free to set me straight if I've just overlooked them.
I have an ATI card. I'm running Linux. I'd like to combine the two.
You mean the x86 Linux community. ATI could do more for the PPC Linux community.
Neither are rewriting bits from scratch and debugging, yet they're very popular.
As Fowler points out in the article, spending a lot of time in upfront design is appropriate when the requirements are static. What happens when they change?
Why aren't you doing it? Answer my question and you'll have answered yours.
I was there too. It's amazing at what they've done. (I'm writing a couple of articles on the topic, so quit stealing my thunder!)
You have an odd definition of "formal". "Programming" too.
When you write your tests first, you get several benefits:
Bugs do happen in test code occasionally, but if you write small tests and small bits of code, it's really easy to catch them. It takes some work to get into a test-driven mindset, but I haven't met anyone who's tried it without realizing the benefits.
Pardon me? I think this is a grotesque overgeneralization.
If the obvious pointers are as common as you say, why are they so widely unused?
Can you elaborate on how pair programming doesn't work?
(By the way, there are 12 XP features.)
XP is not for you (as an individual) if you are a coder who always makes the right decisions and works several times faster than any other coder. It is not for you if you already write bugfree code. It is not for you if you are so far ahead of everyone else that they can only stare at the horizon, wondering where you are.
I find it hard to believe that all of those things are true. I also wonder how many fewer bugs you'd have needed to fix if you practiced test-driven development, or if you'd had code reviews in place (as pair programming promotes).
Then again, writing software has made me paranoid and cynical, so please don't take this the wrong way. I simply want to say, "It's hard to believe -- I've never seen software developed well as you describe."
Can you point to one instance of this happening? For example, some *BSD developers read Linux kernel source code occasionally, and re-implement some of the ideas. Per my understanding of the GPL, that's fine, as long as actual code is not copied.
Well, it was mentioned in the story... but I almost skimmed over that paragraph too.
Brett, you'll be pleased to note that our scientists have come up with an inoculation that will protect you. Within six months, you should be able to go to any reputable doctor or medical clinic within the US, Canada, or the EU and receive the JDDMGSC* shot.
* Just Don't Distribute Modified GPLd Source Code
You have very curious definitions of the words original, profit, and donate. You might also do well to consult a dictionary about derivative and distribute. Best of luck.