Mob Software 234
Hell O'World writes: "Wow! Mob Software." A concise submitter, how refreshing. To elaborate: an essay whose author argues that large software projects should be built, well, by a mob.
If entropy is increasing, where is it coming from?
How many programmers!?!?!? (Score:2, Interesting)
THIS is why I read slashdot!!! (Score:4, Funny)
Slashdot is, in its own, chaotic way, from the folks posting "goatse.cx" links to the helpful mirror-site posters, from the "Frist prost!" guys up to folks like Perens and Carmack, the place where engineering minds of many feathers come together, and as a group, we are able to keep in touch not just with news, culture, and technology, but to keep in touch with a common understanding and culture.
We ARE the mob.
Then I actually read the article (Score:5, Funny)
Maybe the perception; not the reality (Score:5, Insightful)
Think about it. What do we use? Is Linux Kernal truly mob software, or is it, more likely, gang software, a gang with one or two clearly defined individuals who are regarded as important, but who can be replaced and the gang continues.
A mob has no leader per se, no conscience. But a gang has one or more leaders.
I know, one of my great-uncles came up with some of the theories and observations of how people act in gangs and mobs, and how very few of us can resist going along with mob sentiment.
Re:Is it live or is it wearing concrete overshoes (Score:2)
Exactly. Software creation requires that the initial framework and interaction between portions agree. How is a loosely formed mob going to get the project off the ground? A mob never forms without someone starting it. After the project gets off the ground, how do you coordinate two people doing the same thing. in an unruly mob, if two people are throwing rocks, it's fine. In, say, an SMP operating system, if two entities are managing locks, the system crashes.
Software needs structure. A structured group needs to manage the software's structure. Mobs have no structure.
An essay by Ron Goldman (Score:1)
why everbody always accusing the black man (Score:1)
that's it (Score:1)
Hackers heaven (Score:1)
Here's a spoof story [bad-managers.com] on so-called hacking methodologies.
Okay okay, I know it isn't totally on-topic but it's worth a read anyway...
What a load of clichéd bull... (Score:1, Troll)
We need practical solutions, not philosophical soliloquies.
Re:What a load of clichéd bull... (Score:2, Funny)
Many Hands Make Shite Work (Score:4, Insightful)
This is an opinion shared by a huge number of developers.
Inexperienced developers.
Everyone thinks that more people working on one project can only be a good thing, that every one of those has valuable experience and insight and should therefore have input in the decision making process.
Every experienced developr out there would agree with me that this is the best way to kill a project, mire it in personal squabbles whenever someone's precious idea is thrown out in favour of another.
No amount of non-spell checked rubbish is going to make the 'mob' mthod of software development work.
in other words... (Score:2)
never underestimate the power of stupid people in large groups... or was that never underestimate the stupidity of large groups in power...
*I need coffee*
anyways, you pool enough people, you'll end up with a lot more stupidity... but it does depend on the people, what they are trying to achieve and why they are working together...
think the Beatles, not the Spice Girls...
Re:Many Hands Make Shite Work (Score:1)
Do you even know who the author is, and how much software expertise and experience he has, both in academia and the business world?
Read carefully and think before shooting off your mouth.
The other half (Score:3, Insightful)
In a work for pay environment- you are right.
In a work for fun environment, people self-select where what and how they program. If they have a fundamental disagreement they fork.
One may win out when his software gets used more often. Sometimes theyre both right, and they become two separate programs that serve separate users.
'Mob' software works in the sense that it is self organizing, and arises out of individual behaivhor.
Youll never see an ant forced to work in a way it doesnt want to. It does what it does from its own volition. Youll also never see two ants fight over an anthill-design issue. They work as if alone, yet together, act as single whole.
It seems that chaos is the quickest path to order.
Re:The other half (Score:1)
Um...people aren't ants.
And discovering similarities between a software-development "ecosystem" and the "real" ecosystem, while it might give us at least a few useful insights based on our current understanding of natural selection, doesn't mean the software-development ecosystem is sufficiently like the real one to make a numbers game an adequate substitute for proper design.
I believe there's a lot that's true about the "mob software" paper, but even if a lot of the stuff that's hand-waved ("minor" problems like, how do we annotate modules with cultural information in a way that's useful to both the computing infrastructure and the human beings?) is solved down the road, the only true ecosystem will remain the one we already have.
The "mob software" ecosystem will therefore suffer from a phenomenon that every free-software project has had to deal with, but which is not generally a problem for the "real" ecosystem:
For this reason, I've tended to find appeals to the "if I build it, they will come" approach to explaining why sound engineering principles are rejected out-of-hand by "those in charge" of certain OSS projects to be unpersuasive. Yes, "they" might indeed come, but if "they" are incompetent at the task at hand, and, having spent several years making "contributions" that direct the project even further down a technological cul-de-sac, become sufficiently competent to recognize what's been going on, having not convinced the "leadership" -- those who say "but we've always done it that way, it works", a kind of thought that's even harder to challenge in a mob-software approach than in a proprietary-software shop (and I've tried both, believe me) -- they are not only free to leave, but they take the most important part of the investment that little ecosystem made in them: their newfound competence at the task.
At least, in the real ecosystem, when a creature "leaves" (by dying), its nutrients are reabsorbed, over a period of time, back into the living mass. (Yes, the creature's knowledge and experiences "die", but they aren't as critical an "investment" for the ecosystem, which doesn't really, in any way, "care" about that creature.)
A mob-software ecosystem will, by the definition given, depend highly on the experience and expertise of individuals, even if only collectively, so it will need a certain degree of engineering "oversight" (and this is what the author probably means to say in a few places).
The closest equivalent to that in the "ant world" might be the genetic programming. We're not ants, so we don't have the genetic programming to cooperate like they do, and we don't yet know how to build an (abstract) organic ecosystem (say, a computing network) that serves as an adequate substitute.
But the promise is there (I've certainly been thinking along the same lines for, well, over two decades), it's exciting. And while I might raise an eyebrow over the apparent bashing of capitalism (preferring if the author had more tightly focused on the raising of intellectual privilege from a society-based concept to a right-to-profit monstrosity), since I'm not prepared to agree with the notion that a gift economy can't flourish within a society that, like the USA, permits capitalism as well (after all, we do have both, however imperfect they might be, and, unlike most experiments in command-and-control economies, we haven't executed millions of innocent people in this century to impose our new utopian structure on the population), all I can think to say after reading the paper is:
Re:The other half (Score:2)
For this reason, I've tended to find appeals to the "if I build it, they will come" approach to explaining why sound engineering principles are rejected out-of-hand by "those in charge" of certain OSS projects to be unpersuasive.
No one says that bazaar style programming will cure individual ignorance. Nor does anyone claim that some arbitrary problem will be solved in some arbitrary amount of time.
Free programmers will create what they create when they create it, and alot of it will be good. The whole of it all taken together will be yet greater than the sum of the individual parts.
Given time, this could become the dominant pool of software creation. Some might say it already is...
getting there (Score:2)
Keep in mind that the data regarding whether a piece of software is "quality", as well as the data regarding where to find such software, are themselves forms of software, as far as these illustrations go
Yes. And individuals decide which peices of software they like, and hence which they use and contribute too. Nobody *has* to find the perfect piece of software- they just find one they they like for themselves. Then they customize it, or redesign it a bit. Then they share. (now iterate)
If there is no project matching what they want- they might start one on their own.
And, remember, our monkeys will, unlike the ones in the thought-experiment, tend to follow the "monkey see monkey do" approach, by and large -- meaning if a few "leader monkeys" start down a technological cul-de-sac, most of the rest will follow, all proclaiming the "quality" of the work they're doing.
Actually, hobbyist programmers are pretty fast to abandon a sinking ship, as soon as they see a better one. Of course some stay behind- but overall they are a fickle lot.
What you are describing as the missing element- oversight- is in fact the Free software movements greatest strength- not its weakness.
What you percieve as "leaders" of this "community" are actually quite ephemeral. Their technical decisions are constantly challenged by others- and for every major endeavor there is almost always a competing one with a different philosophy.
An individual's choice of what is right for him always trumps a dictator or commitee's choice of what is right for everybody.
Re:Many Hands Make Shite Work (Score:1)
You can pick any 5 people you want.
When should I expect delivery?
(try never, blowhard).
What does a Mob do? (Score:2, Insightful)
Now, regarding the actual text. Termite behavior can be likened to herd behavior. The reason you see more organized pursuits when there are more in the locale is because it takes a certain number to make a herd. Two or three wander. In a larger group one may decide to follow another, and anotehr follow the two, until you have several groups acting in a coordinated fashion. It may appear that there is a higher level coordination, when in reality you have several small groups acting independently, randomly. It appears that work is getting done according to some great plan, but in fact it's just the cumulative effect of several random efforts. When you're moving dirt to make a tunnel or cavern, moving it anywhere but in the middle is good.
Regarding how software is written and how languages today are used, it's a factor of the capabilities of the hardware. What machine today can do anything but store, branch, and jump to the next instruction? When that's all your hardware can do, what do you expect from the logic driving the thing?
The writer discusses the workshopping of writers, writers working together, reading and critiquing. When a developer reaches a certain maturity they often go searching for their next mentor. They've learned all they can alone and need the next kernel of insight. They get this from networking, going to SIGs and user groups. They share experiences and techniques, tools and code snippets. I can tell you that many of the neat tricks I've used in my current project aren't mine. They're from the genius on my last project who had hours every night to make neat things in his basement and bring to work in nice packages for the rest of us to build from. If you grow abeyond your 'job' as a developer you can become a member of your developer community. It's empowering.
The writer claims that capitalism nas made it 'literally impossible to teach and develop extraordinary software designers, architects, and builders'. Who is he to judge? How much of the software world has he seen? By what credentials does he make this claim? Has no one heard of 'The Gang of Four'? Does no one know Kernigan and Ritchie? Who are even known by the combination of the first letters of their names (K&R coding style)? I promise you that Melville sat in a quite room quite alone to write his novel. Hemingway as well. And I'm certain they didn't use design patterns or a development methodology for their works. And they certianly didn't work as part of a mob.
Software is a commodity. It is a tool, a conduit, a presentation platform. It is not an extension of your personality poured onto canvas or paper. It's not a monument. It has no greater purpose than its design specification. Only those with an odd sense of need read the OED from cover to cover. Software, like the OED, is a tool. It is a logical conclusion to a defined need, constructed in a deterministic fashion. It's not abstract. It's not open for interpretation.
I hope the birdies keep singing in his world.
Mob software? (Score:2, Funny)
Is it the Sicilians or the Yakuza?
And for the automatic transmission guy, he should step out of the North America once in a while. The rest of the planet uses a clutch. It ain't fun to drive unless you have one foot less than the number of pedals.
J:P
Re:Mob software? (Score:1)
Ahh, Goodfellas (Score:2, Funny)
Joe Pesci: "Funny how? I mean, funny like I'm a closed source developer? I amuse you? I make you laugh? I'm here to fuckin' amuse you? How da' fuck am I funny? What da' fuck is so funny about me? Tell me, tell me what's funny."
would you buy a used car from this model? (Score:3, Insightful)
Successful open source projects have command and control systems. They don't just grow on trees.
The biological analogy doesn't hold. No one would buy a car that was as flaky as a body. The point of machines is that they're machines, not organisms. They're highly predictable and apply to a restricted problem domain. That's why they can do things we can't.
Tim
Re:would you buy a used car from this model? (Score:2)
"Command and control systems are required for synchronized execution of a coherent plan."
Precisely why we need to explore alternatives to the 'coherent plan' model. We need to figure out ways for cooperation rather than command.
Before you argue that we do everything in a command mode, remember that your commanding brain is a committe of several billion neurons working cooperatively.
As to the article, it looks like a quick implementation of the idea would be web sites interacting with others without human intervention. I think this is already happening, such as the search bots from google and friends.
This really needs some quality think time.
Re:would you buy a used car from this model? (Score:1)
Whee... Code Red!
Not to mention the ideas of 'antibody' viruses (legal implications aside, it's an interesting idea)..
Re:would you buy a used car from this model? (Score:1, Insightful)
Re:would you buy a used car from this model? (Score:2)
Humans were designed by a "mob" process, one with no command and control mechanism. They break down constantly, require enormous amounts of downtime (often unplanned), can't be upgraded, and are extremely expensive and difficult to repair when something goes wrong -- if repair is possible at all.
That's why a car can't juggle.
You could build a juggling mechine very easily, if there were a use for such a thing.
Again, the nature of a tool is that it solves a restricted problem domain very predictably. That's what computer software is for, not to mention houses, cars, hammers, and so forth. Biological systems have different requirements, to live long enough to reproduce in a variable environment. The design methodologies for the two sets of requirements are different.
Tim
Re:would you buy a used car from this model? (Score:1)
The problem is that the relevant problem domain refuses to stay so restricted. Each answer grows three new questions.
Re:would you buy a used car from this model? (Score:1)
You've just described how the overwhelming majority of homes lived in by human beings throughout human history have been built. The first world ethno-centrism of the slashdot crowd would be funny if it weren't so pathetic.
Fact is, most of the world's people are non-literate, so they couldn't "write down their decisions" if they wanted to. They build homes based on a common vision which they acquire by growing up inside the culture. Skilled craftspeople (carpenters, brick layers, etc.) do what they know how to do, and a finished and quite livable home comes together.
Interestingly, many of these homes are superior to modern architect designed houses, for example in seismic stability (i.e., they are less likely to collapse in an earthquake). Why, because they embody the collective wisdom and experience of generations of builders who know the local conditions implicitly. That which has failed in the past has been culled, that which stands for decades is copied. No rigid formalism is imposed on either the materials or the landscape.
To build software like this means:
1. We must be able to share our sucesses and what we have learned from our failures. This means open source.
2. We must build software in a context in which the users can write the software. This mean new tools that enable non-technical people to write useful code.
3. We must build software that can be joined with other useful software with minimal effort. This means software that is reflexive - it knows what it consists of and can tell other software, so that they can merge.
"Buying" isn't the point (Score:1)
Me neither, but if someone offered it to me, I'd live there. Same way many of us live in cities built by disorganized multitudes. The essay's about creating gifts, not commodities.
Finally (Score:5, Funny)
poets (Score:2, Funny)
If slashdot were run by mob (Score:1)
CmdrTaco: We gonna take Gates' balls n stuff em down 'is TROAT!
Get your "Whack Adobe" Tshirts @ thinkgeek!
Ask Slashdot: How can I become a bookie?
Katz would write a four part series about Vinny's vegas casino
- = Maskirovka
Anything worth coding is worth coding for money.
Microsoft proverb
Artificial Life Reference? (Score:1)
Bandwagon Irony (Score:1)
So do you want to be a cog or a termite? (Score:2, Insightful)
As a termite I don't need any morale boosting management tricks (just nice management which I have here) because I generate my own morale from the way I tackle projects - thankfully I have that freedom.
I could not/will not be a cog.
Software engineering techniques help me as an termite, but I will not let them reduce me to a cog in someone elses management scheme.
My problems with this essay (Score:5, Insightful)
It also talks about large systems having emergent properties. All of the examples come from nature, not computer science. To a large extent, I think that this is a mistake. It might be a good idea if you can stand a lot of unpredictability and have to deal with very messy input (like in the physical world), but seems mostly to be exemplified by Windows DLLs: you never know what will affect what, and you can't necessarily repeat something, because the conditions will be different.
I think that modularity is a much better method. This reduces the sizes of the parts that anyone has to understand: the linux kernel is pretty big, but is manageable, at least when ignoring all of the specific drivers (which essentially are constrained by simple interfaces); all of the parts of a linux system, if they were not separated out, would be totally unmanageable. If these parts are constrained, it is possible to understand.
A somewhat methodical approach is far superior to an evolutionary approach, where you essentially change things at random and see what works. While too much attention to getting things perfect as written leads to shortsightedness, not understanding the code you're writing makes for a totally unsupportable program.
Re:My problems with this essay (Score:2)
The Mob Software idea would have packets routed somewhat randomly at each router, with that router deciding, without relying on system-wide uniformity, where to send the data next. It's possible that this would work, but it would certainly lead to a much greater variation in latencies and dropped packets.
Re:My problems with this essay (Score:2)
It's really the other way around with routing. Nodes don't know the local behavior at other nodes, but do know the overall rules, which are explicitly designed.
Ron Goldman (Score:2)
Obligatory godfather joke (Score:1)
Gather up some angry villagers... (Score:5, Funny)
Re:Gather up some angry villagers... (Score:2)
Re:Gather up some angry villagers... (Score:2)
64.3% of statistics are made up on the spot.
What if what once was scarce is now abundant? (Score:1)
After reading this article and the "What if what once was scarce is now abundant?" quote, it made me wonder how the world's governments are really going to treat the open source community.
Unpredictability in complex systems (Score:5, Interesting)
It is both a wonderful and frightening thought -- the Internet may already be sufficiently complex for self-replicating, self-modifying code to survive in the wild - and if it isn't, it won't be too long before that becomes possible.
We are all busy wondering if Microsoft and
How long would it take for Darwinian code to evolve to the point where we couldn't eradicate it?
I think the biological model is worth paying attention to. A plague wipes out cathedral builders and bazaar merchants alike.
Re:Unpredictability in complex systems (Score:1)
This would actually be a very cool idea as long as it was kept under control - say restricted to hosts specifically set up to allow it's replication. It could even fight other generations!
Re:Unpredictability in complex systems (Score:1)
Re:Unpredictability in complex systems (Score:1)
I think someone aleady thought of that...
But seriously, software evolving without direct human control, in a world where everything and anything is connected to the Internet, is a truly chilling prospect. Combine the damage that can be caused by crackers today, the complacency/incompetence of major companies and government organisations that lets them do it, and the ever increasing raw power of hi-tech hardware, and you're painting a very scary picture.
Complexity and Software (Score:2)
The research being done at the Sante Fe Institute [santafe.edu] with regards to complex adaptive systems, and the nature of complexity in general provide a number of insights to coders writing large software projects (and many other discplines...)
I would highly reccomend At Home in the Universe as a good introduction to the ideas behind research in CAS. ISBN: 0195111303
For those who like more thorough and academic texts the S.I. produces a number of conference and workshop transcripts which are chock full of great papers and enlightening discussion. ISBN: 0201626063 is a good one.
As software/hardware systems grow ever more complex, we will need to apply ever more powerfull methods to manage this complexity. Perhaps by learning from the experiences of millions of years of evolutionary biological computation to socio/economic progression and interaction we can begin to fashion methods of building software/hardware that can adapt and scale in ways we dream of...
Re:Complexity and Software (Score:1)
Hey, didn't Bill Gates once claim that nobody would ever need more than 640MB of genetic information?
go ahead, make another mafia joke. (Score:1)
Oh please, not another hax0r artiste. (Score:1)
In my experience you can categorize programmers into the following three groups: lone rangers, uninspired key pushers, and team developers. Lone rangers can be extremely productive on their own and know it, but don't know how to split up work, resolve disagreements, and make sure the important dirty work gets done. The uninspired key pushers are the ones who prove the axiom that a great programmer can be 10x as productive as a bad one. They're the ones who write spaghetti code, use code generating wizards and don't understand how the environment they're programming for works. Finally there are team developers, who may not be as productive alone as a lone ranger but who can actually break up work, debate ideas rather than descending into ad hominem pissing matches, and who get all the work done (not just the fun stuff). I suspect that
The idea of mob development is not original, but I argue that it's not limited to open source either. You don't have to be an aeronautical engineer to know that a rocket shouldn't blow up on the launch pad. Likewise, commercial software gets pushed on users who definitely have plenty of eyeballs capable of testing software. The sad part is that they pay for the privilege, where in open source at least the helpful eyeballs don't have to pay. Open source has the advantage of allowing outside developers to fix problems, but it's not as though commercial software customers don't notice bugs because they don't have the source.
I strongly disagree with the author in a couple of cases.
The cathedral analogy is completely bogus. This is ESR's fault, and it's a logical fallacy that code poets often use to "prove" that open source code poetry is the One True Path. Cathedrals have very basic requirements compared to a piece of software, and involve designs which were centuries old at the time. Hire an amazing artist to do some art for the cover of your software manuals, retail box, splash screen, etc. Wow, what an incredibly clever development process you've discovered, he didn't introduce any bugs into the product! The glue used to bind the manual smells nice, because you hired a fragrance designer? You are a software development guru now, because that person didn't get in the way of the code being developed. What?? It doesn't make sense because these are very distinct concepts, easy to modularize. To get a realistic comparison, try getting 40 sculptors to work together on the front door, another 20 on the tympanum above the door, 10 on the side door tympanums, and make sure they all coordinate their efforts so everything looks consistent and follows a unifying theme. Now you see how the analogy breaks down.
Gargoyles, stained glass windows, pulpits, they're just ornate versions of everyday objects that everybody already understands. In techie terms, I'm saying is that a Cathedral is not only a highly modularizable design, but that the interfaces between modules are minimal, and that the overall design is obvious and familiar to all involved. Software generally isn't like that, particularly large software. It's unfamiliar; it's not something you can touch; the requirements are poorly understood / shifting / disagreed upon by stakeholders. This is why the popular CS ideas are the ones that favor a design that changes during the implementation phase(s). The rocketry analogy is much better - in that case it was something unfamiliar and huge. Fortunately you can touch a rocket, and pretty much everybody wanted to put a small object in orbit. Compared to software, rocket science is easy
Also, the biological analogy is bogus. Those little critters are running some seriously mature software (tested for more than 20 years, I assure you) that I dare not estimate in terms of lines of code. I don't think we have billions of years to get our software right via genetic algorithms. We have to play creator and move things along faster than they would on their own.
Yes there are a number of *nixen out there, but considering just the free ones, I doubt there is much reinventing of the wheel since most of it comes from the same GNU sources, compiled for each kernel.
Finally, the author disparages computers based on stuffy old math inspired languages such as Fortran and C, and then goes on to laud a series of open source projects (as proof that the mob approach works in small sizes, meaning just a few million developers I guess) which are all written in... C.
You had me scared there for a minute (Score:1, Redundant)
But the really frightening part was the vision of Linus waking up to find that Bill left a penguin head in his bed.
Should be called "Fatty Software" (Score:2)
Mob Software??? (Score:3, Redundant)
After all, we've already got Microsoft.
Why not an orgy? (Score:2)
Grovel before the Mistress of Macro, the Princess of Perl, the Dominatrix of Data! Lick my boot, slave.
waiting for it (Score:2)
Still and all it has to be coming soon
A bit dated... (Score:5, Informative)
You can download a
How is it different from "The Bazaar?" (Score:4, Interesting)
Isn't this basically just the standard Open-Source development model, but restated with a lot more cool poetry?
Perhaps that's not "Mob Software's" point -- perhaps the whole point is just a romanticization of The Bazaar. I'm cool with that.
Re:How is it different from "The Bazaar?" (Score:5, Insightful)
Secondly, and more importantly, this article covers substantially more ground than "...&the Bazaar". Open source, for instance, is more or less taken as a given, which makes sense since Gabriel has been hacking since the 70's...
But what you perceive as poetry is really the meat of the argument. Gabriel is trying to employ reasoning from Christopher Alexander's "A Pattern Language" to demonstrate how we should build software. The OO pattern guys have read this book, but they have only figured out the fully technical aspect. Gabriel is writing about the patterns of software that pursue Quality, and one of the dominant ones is that the users are the developers, and vice versa.
As an aside, he even demonstrates that cathedrals were built over generations without a written design; successive builders only shared a common Pattern. So there goes the cathedral/bazaar distinction!
Read his stuff. Then read Alexander. You'll be the better developer for it.
Re:How is it different from "The Bazaar?" (Score:2)
Thanks for pointing that out. I re-read the article, and you're right -- this is a truly enriching read. It's the sort of thing where even if you disagree with it, you're enriched just for thinking about what he addresses.
Re:How is it different from "The Bazaar?" (Score:1)
It is indeed *an* Open-Source development model, it's a bit more radical than the popular one though.
Re:How is it different from "The Bazaar?" (Score:3, Insightful)
``Oh golly.''
Yes, but ya know...that's really what happens -anyhow-! That's the engineering process in a nutshell. There's a great book called "Design Paradigms" by Henry Petroski that covers, essentially, the history of bridge building. And with each new bridge-building process, there's at least one spectactular failure and one spectacular success. And although the book focuses on the difference between good engineering and bad, reading it, you realize that that statement is not a prescription for how engineering happens, but a description of how it happens.
We keep building bridges until one breaks. Then, we find a new principle.
When liberal arts majors attack!! (Score:2)
My rebuttal: Mobs are stupid.
Human intelligence does not work like digital information. It is not strictly cumulative. 6 billion people as a whole do not exhibit intelligence 6 billion times greater than the individual person. In fact, one might say that collective intelligence even *decreases* as more members are added
Furthermore, let's say this is magically possible, and that it actually results in lots of great software. As he mentioned, the gift economy is still a subeconomy in the "commodity" economy. That is, we still rely on things from the commodity economy to survive. Do you know any authors that maintain existence solely from reading other published works? So unless we come up with a way to allow non-coders to send non-digital objects (like, say fruit baskets, or baked hams) into this amorphous collection, simply working all day on software will not result in breakfeast, lunch, and dinner being downloaded from your email account, and popping out of your CD-ROM tray.
The limiting factor of software development is the capacity of the brains of individual humans. Neither putting all the software in the world together, nor putting all the brains in the world together, will solve this problem.
Re:When liberal arts majors attack!! (Score:2)
"Where I'm from, the birds sing a pretty song and there's always music in the air."
...but I still think it's a bunch of wishful thinking. I'll shut up now
Too big for Slashdot. (Score:3, Insightful)
Slashdot comments are a little too ephemeral to get anything except for ridiculous jokes and twitch-trigger half-understanding out of this.
In short, it's too big for Slashdot. Slashdot is a forum built around the topical and momentary. I'm going to really wrap my head around this before I say anything about it. This essay really demands that sort of effort.
Re:Too big for Slashdot. (Score:2)
So what you are saying is: It's not for the mob?
so let me get this straight... (Score:5, Funny)
WOAH! Where'd that truck come from? I always thought that the bigger the project, the fewer people should work on it...
And all *my* story submissions get rejected...
Moderate away! I've got Karma and I know how to use it!
Re:so let me get this straight... (Score:3, Insightful)
/Brian
Missing the Point (Score:2, Insightful)
Re:so let me get this straight... (Score:1)
...within the very limited problem domains and development paradigms used so far in the short time we've been doing this.
The Mythical Man-Month is a good read. But it predates the widespread use of personal computers and the net.
Scene: A crowded room... (Score:5, Funny)
Suddenly, a burly, unshaven brute of a coder stands up, thrusts an accusing finger towards another man across the room, and shouts "He's using global variables!... GET HIM!"
Pipes, chains, and two-by-fours appear out of nowhere as the entire mass of geeks converge on the poor victim, now bleating plaintively, pathetically trying to shield himself with his keyboard...
...
Yeah, I see how that could work out pretty well, actually!
Re:Scene: A crowded room... (Score:1)
I swear I've seen this before... (Score:4, Funny)
Re:I swear I've seen this before... (Score:1)
Interesting reading.
Software written by Mobs... (Score:2, Funny)
Even the best elven scribes would be out of their league with this one.
Invited talk at OOPSLA 2000 (Score:5, Insightful)
It was a really thought-provoking talk, punctuated periodically with various musical interludes. Richard himself was wearing a rather interesting outfit -- if I recall, it's been almost a year so I might be off, it was a large leather shawl... I remember a few people in the audience whispering ("is this supposed to be zen or just wierd on purpose?")
But a lot of what Richard says also highlights some of what several others (Jim Coplien, David Ungar, etc.) were hitting on during the conference: that we really aren't creating *great* software. We've certainly tried to come up with movements to do so -- from Extreme Programming, to Design Patterns, to new high-level languages. But "design patterns" aren't quite the same things that Alexander had in mind (entire "pattern languages" to emerge "great software" was the hope), and that most design patterns could really be termed "fixes for existing languages".
We need new approaches to software design -- and we need to explore more of the consequences of abstraction. Humans use abstraction as a mental necessity... but is there a way to abstract without losing the importance of the details (when they are relevant and important)? How can we handle the tremendous complexity of software when that complexity is increasing at an alarming rate?
But most importantly -- How do we teach the next generation of programmers what we've learned, so they don't make the same mistakes?
So the point of the essay (that I took away) is this: if we're going to find new approaches for software, we're going to have to create a "new literature" to learn from, as we're running out of sources of "great literature" (many of which are becoming passe').
The way to create an evolving body of code literature is through A) people that are passionate about software, B) through software that is free, and C) through software that is openly collaborated on. Hence: Mob Software...
A lot of the the themes aluded into in this essay: poetry, abstraction, software, patterns, etc. are all discussed in great detail in his book "Patterns of Software: Tales from the Community" [fatbrain.com].
Cheers
Comment removed (Score:3, Informative)
Re: (Score:2)
Well that's informative... :-/ (Score:4, Informative)
I get the news I pay for, I guess.
Re:Well that's informative... :-/ (Score:1)
Mob development in the corporation (Score:2)
It's kind of neat, actually. The smarter secretaries and managers can write small programs in Excel or Visual Basic that do needed work. To a considerable extent, Microsoft owes its success to this. Microsoft Office sells on its own merits, unlike Windows and IE.
That Webpage... (Score:2)
...was too big for Notepad to open when I viewed source on it. One of my little rules of thumb is that a web page should never get that big. I lost interest about half way through it. You can call me an LD'd short-attention span impatient kind of guy if you like, but there is something to be said for being concise and to the point. In other words, cut to the chase! Everybody remembered Lincoln's Gettysburg address. Nobody remembered the guy who spoke for two hours before Lincoln.
Hard to swallow (Score:3, Funny)
Certainly mob creation has it's role in any industry, but as the industry matures, the place for the mob changes. Early on, each element of the mob was a person, creating operating systems, computers. As time has gone on, a person is no longer capable of creating a big application or designing a computer themselves. So now an element of the mob is a design team, or a company. And cooperating in our mostly free market, they act as a mob.
Even within a given time period of an industry, mob development works better in some places than others. The Linux movement? sure, the mob is working well. But the space shuttle code? They honestly and truly believe that something akin to the open source community should have designed the space shuttle code? Sure, the mob mentality would work, IF YOU HAD 20 SPACE SHUTTLES TO THROW AWAY IN SPECTACULAR FIREBALLS BEFORE IT WAS FINISHED.
Yes, disasters and mistakes are the hallmarks of any engineering endeavour, but that doesn't mean we can't try to avoid them.
If your only tool is a hammer...
Re:Hard to swallow (Score:1)
Coding with the fishes, see (Score:5, Funny)
I just realized where I was. Tra la la.
I would guess that the writer of the article (Score:2)
Mob developed software - hmmmm... (Score:5, Funny)
"I will give you a patch you cannot refuse"
Well, it might work
/Janne
Re:Mob developed software - hmmmm... (Score:1)
"Don Cox, Don Perens requires your presense at..."
Re:Mob developed software - hmmmm... (Score:2, Interesting)
1) thought of the obvious Mafia jokes, or
2) bitched about how obvious the Mafia joke is and how it shouldn't be considered funny,
allow me, while ostensibly making a 'mob' joke, to bring a new and fresh topic of conversation to the table:
Who would win in a fight?
a) Don Corleone (young or old; your choice)
b) Don Juan
c) Don Quixote
d) Don Ho
e) Don Adams
f) Don Diego de la Vega
g) Don Knotts
h) Don Pablo
i) Donatello (artist)
j) Donatello (ninja turtle)
k) Don CowboyNeal
Yes, but ... (Score:2)
I agree with much of what he says in "Mob Software," but I think I'm ultimately dissatisfied with the essay, and I don't think it's my lack of understanding.
I can summarize the key points as follows (though everyone should read the actual essay, not just the Slashdot discussion, not even mine), with which I violently agree:
Dr. Grabriel, please don't tell me what sometimes works. Tell me what often helps in general; tell me what makes a difference for the better for various particular kinds of projects.
Couple of other complaints: He talks about Jini in the past tense as if it's been a wonderous success; I agree it's promising, but nothing more, yet. He also talks about the horror of modules and the wonder of (what everyone else calls) components; I wish he'd distinguished the two (and their respective weaknesses and strengths) better. (Okay, maybe that last is my weakness and not his.)
(I did not intend to use so many parentheses when writing about a Lisp uber-meister-hacker (but it's kind of appropriate (now that I think about it)).)
What Motivates the Mob? (Score:2, Insightful)
The main question that I'm left with after reading this article is, "What Motivates the Mob?" They talk about how the "mob" is going to produce all of this wonderful software, but is the mob going to be motivated enough to produce all of the software that society needs.
They claim that 26,000 programmers could write the Space Shuttle software in one year, but how are you going to convince 26,000 programmers to work on such a project? You may be able to convince a few programmers to contribute, but how are you going to convince that many people that they should work on this type of project?
It seems like each member of the programming "mob" is going to gravitate towards working on projects that interest him or her. It would also seem like most programmers would be most likely to work on something that they would actually use themselves. From what I can tell, most "open source" projects start when some programmer(s) says to themselves "I could really use X, so why not write it myself." Then other programmers come along and say "I could really use X, but only if it had Y, so I'll add that piece." And so forth....
Most successful open-source projects seem to be things that a large number of programmers find useful (i.e. Operating Systems, editors, web servers, other software infrastructure, games, etc). Is there enough interest among programmers to write Space Shuttle Control Software? I think not. It would seem like this would either have to be done by some company for money (i.e. Lockheed Martin), or not at all.
If you look on SourceForge, there are hundreds if not thousands of "open source" projects which haven't gotten off the ground because there just isn't the interest in them. The "mob" programming philosophy doesn't seem to be working in this case.
His example about the construction of medieval cathedrals was a successful "mob" project because the people all had a common interest in (or fear of) the divine that motivated them to construct such a structure. There are countless other structures which had to be built by one controlling entity, because the "mob" just wasn't motivated to help out building them.
Finally, let me say that I don't necessary disagree with his premise that "mob" programming can be successful. I think that the success of Linux, et. al. is a strong testament to what the "mob" can do. I just don't think that "mob" programming is going to be the end-all and be-all of programming.
Mob software is ill conceived (Score:2, Insightful)
Re:Pretty background colour, but.... (Score:2)
Steve Wozniak - Apple OS, Games etc (including breakout for Atari)
Bob Metcalfe - Ethernet protocol
Bill Gates (yeah yeah i know - but read your history people) - Altair BASIC (first PC) Altair DOS (ditto) to name but 2
Mitch Kapor - Lotus 123
Gary Kildall - C/PM (first true portable DOS)
Dennis Ritchie - UNIX
John Draper - easy writer (first IBM PC commercially supported word processor)
There are hundreds more
Looks like we just proved that many of you dont bother learning about the very thing whcih you love does'nt it ?
Try reading a few books - may i reccomed Fire IN the Valley by Hildergard/Swaine - the story of the birth of the PC
Giants with the capacity - shit i could give em to you all day - unfortunately this is pre linux... draw your own conclusions on that.
Re:Pretty background colour, but.... (Score:2)
Re:The word Fad is bad, as is the whole premise (Score:2)
Re:The word Fad is bad, as is the whole premise (Score:2, Insightful)
Nope. UNIX\Linux is quite a bit more robust, and the Open Source model can't be beat for addressing hardware problems with software workarounds. Linux is better. Still, not every crash ruled an 'M$ crash'by most people is the fault of M$ code. Often, code isn't the fault at all, but when all you have is a hammer everything looks like a nail. They are just the most popular entity to blame among the under-educated. Sorry to dissapoint you 8^{
Re:Yeah (Score:2, Interesting)
I have a day job. I also work on Free software, and other things related to open sytems (e.g. standards for things, not "Open Source").
I also have plural shiny things. This is because my achievements _outside_ may day job have two effects: