Posted by
michael
on from the get-the-torches dept.
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.
Re:Pretty background colour, but....
by
q-soe
·
· Score: 2
Yup we sure do
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.
-- I refuse to argue with Anonymous Cowards - if you want a discussion get an account....
How many programmers!?!?!?
by
matthewd
·
· Score: 2, Interesting
I skimmed through the article, but this didn't make sense: if there are projects that are an order of magnitude or two larger than the space shuttle, and he argues that the space shuttle should have had 26,000 programmers instead of 260, does that mean that these larger projects should have 260,000 to 2.6 million programmers? Where are you going to get that many programmers?
Re:would you buy a used car from this model?
by
Hanzie
·
· Score: 2
The biological analogy not holding is the entire point of the article! Gabriel is trying to get us to look at a different model where the biological analogies apply.
"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.
-- *********
sig: If you don't like the law, get filthy stinking rich, and buy a better one.
THIS is why I read slashdot!!!
by
Rimbo
·
· Score: 4, Funny
"The builders shared a set of principles--the common pattern language."
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
by
Aerog
·
· Score: 5, Funny
At first glance, I thought he was talking about a database to keep track of whose kneecaps to break, with a friendly MS Word'esque helper with the face of Tony Soprano telling you "It looks like you're tryin' to write a fsckin' business letter." Then I actually read the article. ..
--
- Relativistic? That's barely Newtonian!
Maybe the perception; not the reality
by
WillSeattle
·
· Score: 5, Insightful
How can we say it's mob software, when that implies that "noone in the group is regarded as important".
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.
-- ---
Will in Seattle - What are you doing to fight the War?
Re:would you buy a used car from this model?
by
tim_maroney
·
· Score: 2
Actually, the biological analogy holds up just fine. The command-and-control mechanisms in a human are awesome - far more sophisticated and reliable than those in a car.
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:How is it different from "The Bazaar?"
by
Rimbo
·
· Score: 3, Insightful
``"Let's have a whole bunch of people try real hard for a real long time, and eventually all the (rockets/software) that doesn't work will explode, leaving us with stuff that works".
``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.
Many Hands Make Shite Work
by
Looge+Over+All!
·
· Score: 4, Insightful
On the subject of large software projects being worked on by lots of people:
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.
What does a Mob do?
by
pkesel
·
· Score: 2, Insightful
Has a mob ever built a cathedral? Has a Mob ever written poetry? Part of what makes a 'Mob' a mob is its mindlessness, its random application of its great energy and enthusiasm. A team or an army is far more productive. The only thing inviting about a mob is that it's activities are generally free.
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.
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.
When I read this headline, all I could picture was a bunch of mobster software developers sitting around a table like in Goodfellas...
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?
by
tim_maroney
·
· Score: 3, Insightful
I can't imagine anyone being willing to buy a house that had been built with no architect, no blueprint and no foreman -- a house built by a bunch of construction workers doing whatever they thought was best that day, and not bothering to write down any of their decisions. That is how "Mob software" projects are run. It's a well-known recipe for bad software. Its results are unreliable, slow, and impossible to maintain. Command and control systems are required for synchronized execution of a coherent plan.
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.
next on/., an essay where several renowned musicians are quoted supporting a "flowering carnation" development model. This development model is powerful and interesting for several reasons, as Britney Spears, members of the band Metallica, and popular rap artist Eminem point out to us.
Re:How is it different from "The Bazaar?"
by
denshi
·
· Score: 5, Insightful
Firstly, it's written by Richard Gabriel. You young 'uns might not know him, but us old school LISPers listen, and intently to what he has to say. Accomplishments? One of the original LISP hackers, professor at Stanford, master of all things OOP, founded and buried Lucid, written a huge pile of enriching documentation. ESR, whatever the merits of his fetchmail and Python work, doesn't have that cred level yet.
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:Gather up some angry villagers...
by
srvivn21
·
· Score: 2
I guess this means that you are part of the "get-the-torches dept." that produced this news article...;o)
So do you want to be a cog or a termite?
by
samjam
·
· Score: 2, Insightful
I'd rather be a termite (artisan) than a cog (excessively managed code monkey).
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.
Re:My problems with this essay
by
iabervon
·
· Score: 2
People can work on internet infrastructure because they can treat all of the other devices as following the same set of rules with variation in the details. Everything is constructed such that the large-scale behavior is obvious from the rules that all of the devices have agreed to follow.
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.
the best way to kill a project, mire it in personal squabbles whenever someone's precious idea is thrown out in favour of another.
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...
My problems with this essay
by
iabervon
·
· Score: 5, Insightful
In addition to the stuff we all know about open source, there's a good point in here about the benefits of the quick-and-dirty approach. This idea is that too much design leads to unimplementable projects which are optimized for situations that don't actually arise; it is better to do only a little design and then implement something, so that you can find out what the implementation issues actually are.
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
by
iabervon
·
· Score: 2
He's talking about a situation where each person knows the behavior of each other person, but there aren't any overall rules at all, or at least, none that were explicitly designed. Protocols are actually relatively local behavior.
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.
Gather up some angry villagers...
by
JesseL
·
· Score: 5, Funny
You bring the pitchforks and I'll get some torches.
We'll have Mozilla 1.0 out in no time!
-- "Prefiero morir de pie que vivir siempre arrodillado!"
Re:Gather up some angry villagers...
by
csbruce
·
· Score: 2
100% of statistics are misleading.
64.3% of statistics are made up on the spot.
Unpredictability in complex systems
by
FamousLongAgo
·
· Score: 5, Interesting
Someone here wondered a few days ago how an Internet worm might succeed if it were able to mutate and evolve in a Darwinian context. This writer is wondering what software will be like when all code can evolve, and interact, and what that emergent behavior might be like.
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.NET will become a monoculture on the internet -- it would be quite a surprise to suddenly find little XML packets flying around in a language nobody could understand, the fruit of some bright hacker who releases a clever little self replicator, evolving at five generations an hour.
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.
--
A customer service representative will be with me shortly.
Complexity and Software
by
PureFiction
·
· Score: 2
I was surprised and pleased to see references to Stuart Koffman in this essay.
The research being done at the Sante Fe Institute 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:The word Fad is bad, as is the whole premise
by
Zero__Kelvin
·
· 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^{
-- Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
The other half
by
Srin+Tuar
·
· 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.
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...
Should be called "Fatty Software"
by
wfrp01
·
· Score: 2
Software should be written while you smoke a big fatty.
Yeah - orgy software, that's what it is anyway. Or maybe software developed on a 'love swing' or a BDSM rack.
Grovel before the Mistress of Macro, the Princess of Perl, the Dominatrix of Data! Lick my boot, slave.
Re:Mob developed software - hmmmm...
by
sinator
·
· Score: 2, Interesting
Because absolutely *everyone* here has either:
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
-- Three Step Plan:
1. Take over the world.
2. Get a lot of cookies.
3. Eat the cookies.
Ah, yet another wonderful idea from the Open Source crowd. Yet another hopeless attempt to unseat the Cathedral.
Mobs, forges, lone genius. None of that is going to rescue your precious development model, it is inherently flawed. People want things. They want recognition, which you cover fairly well. They want to do good things, you have that. Unfortunately for you, they also want money. Lots and lots of money so they can buy all of the shiny objects that their neighbors have. You don't have that base covered and you never will, thus nothing of merit will come out of your system.
Yawn.
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:
I gain useful skills that eventually get used in my day job. I become the foobar guru.
I can point to my achievements outside the day job and say "look! See, I am of consequence elsewhere; I understand the industry well, have a little influence in it, and another employer would jump at the chance to employ me".
Actually, the problem is, no time to play with the shiny things because I'm too busy hacking interesting code. Interesting code is a real breath of fresh air because you do it when you want to, and not today if you don't feel like it.
A bit dated...
by
Lizard_King
·
· Score: 5, Informative
Richard Gabriel gave this speech at theOOPSLA 2000 Conference (Object Oriented Progamming, Systems, Languages & Applications). There are some other interesting keynote presentations there including a piece on Adaptive Software Engineering (PDF Alert!!).
You can download a.pdf of the essay, or if you can't view pdf's, check out the cover.
-- "My mother never saw the irony in calling me a son-of-a-bitch." - Jack Nicholson
How is it different from "The Bazaar?"
by
Rimbo
·
· 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?"
by
Rimbo
·
· Score: 2
Your post is terribly underrated, and mine is terribly overrated.
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.
When liberal arts majors attack!!
by
Hard_Code
·
· Score: 2
Holy crap, I got sucked in and held out until about 8/10 of the way through the article to finally discover what the hell he was talking about.
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;) Who cares? Well this guy seems to want us to believe that if we just throw all our "gifts" into one big humongous happy amorphous blob, that we will instantly be able to miraculously combine any pieces and come up with amazing software. Does anybody know an author who writes books solely by going to every library in the world, examining every book, and copying the "best" parts? My point is that even if we threw all this marvelous stuff together and gave access to everybody --** there would be no possible way for a single human to digest such vast amounts of information **--. It would be like creating the best bottled water by sorting through every h20 molecule in the world. Impossible.
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.
This is an essay worth reading once to get the idea of, and a second time to get a real sense of what it means to you.
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.
--
What we call folk wisdom is often no more than a kind of expedient stupidity.-Edward Abbey
>what was it I (and hundreds of thousands of other) IBMers used for, like, 20 years?
You used a grab-bag of renamed office productivity apps that had almost nothing to do with Guglielmo's massive boondoggle. Office Vision was *supposed* to be an integration framework for apps to run identically across the mainframe, mini and PC product lines. It didn't happen.
-jcr
-- The only title of honor that a tyrant can grant is "Enemy of the State."
so let me get this straight...
by
Telek
·
· Score: 5, Funny
The bigger the project, the more people should be writing it?
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!
--
If God gave us curiosity
Scene: A crowded room...
by
whatnotever
·
· Score: 5, Funny
... no lights but for the sickly glow of hundreds of monitors... a mob of coders, all hunched over their various workstations.
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!
I swear I've seen this before...
by
gnovos
·
· Score: 4, Funny
...something about an infinite number of monkeys on an infinite number of typewriters. It could work...:)
-- "Your superior intellect is no match for our puny weapons!"
Software written by Mobs...
by
increduloidx
·
· Score: 2, Funny
Somehow, I don't remember the CircleMUD code having sentient neural-nets coded into the Mob routines.
Even the best elven scribes would be out of their league with this one.
--
the liberator who destroyed my property has realigned my perception
www.quantumheresy.com
Invited talk at OOPSLA 2000
by
Stu+Charlton
·
· Score: 5, Insightful
This is the essay that formed Dick Gabriel's OOPSLA 2000 invited talk.
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".
IBM Project. $900 million spent, NOTHING delivered.
-nuff said.
-jcr
-- The only title of honor that a tyrant can grant is "Enemy of the State."
Well that's informative... :-/
by
HongPong
·
· Score: 4, Informative
Logically, slashdot is supposed to summarize news, not say basically nothing. All right, software should be developed by a mob. How is that significantly different from how things are today with mid-sized OSS projects? Come on, Tim, give us more than a single thought. What are the merits of this essay? Some details? How does it contrast with other OSS development models?
Missing the Point
by
Catskul
·
· Score: 2, Insightful
I think you are missing the point. The value in "Mob software" is goes beyond the sum of the mob's man-hours. The society that is created by the mob allows software to not have to be written more than once. It allows the wisdom gained in each of the writings of each of those pieces of software to be shared. It allows small projects to tap those in the mob that have the expertiese rather than spend time aquaireing it on their own (while offering their own expertiese in exchange).
--
Im not here now... Im out KILLING pepperoni
Mob development in the corporation
by
Animats
·
· Score: 2
Some corporations get into this mode. There are companies that run on a bunch of Excel spreadsheets and Visual Basic programs.
The usual result is an unmaintainable mess.
But it sort of works, because they can't mess with the core engines, the OS, database, spreadsheet program, and language systems.
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.
Re:Pretty background colour, but....
by
q-soe
·
· Score: 2
Dennis ritchie didnt thats true - but he built about 90% himself - and thats in the books
No one said they were relevant in current context - they really arent (including Dennis Ritchie) - i was illustrating a point that the people are there and will continue to be there now and in the future - its hard to been seen as the sole creator of anything these days but the geniuses do exist.
As for pointless heor worship - history will teach us many things - pity most people dont want to know.
-- I refuse to argue with Anonymous Cowards - if you want a discussion get an account....
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.
...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.
-- For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
This sounds like a couple of guys who are unable to let go of the heady, exciting days of software development in its infancy, and move to the next stage.
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...
Coding with the fishes, see
by
Nastard
·
· Score: 5, Funny
I don't know what he's talking about. There's no mob mentality on the internet. The web is a place where individuals can share unique and sometimes conflicting ideas in a positive manner. To imply that there is any kind of groupthink...
I just realized where I was. Tra la la.
Re:Is it live or is it wearing concrete overshoes
by
ivan256
·
· Score: 2
And those ways just happen to not be conducive to creating software.
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.
I would guess that the writer of the article
by
XNormal
·
· Score: 2
I would dare to guess that the writer of this article is quite likely to be an INFP personality according to the Myers-Briggs personality type classification system.
--
Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
Mob developed software - hmmmm...
by
JanneM
·
· Score: 5, Funny
"I will give you a patch you cannot refuse"
Well, it might work:-)
/Janne
-- Trust the Computer. The Computer is your friend.
I've met Richard Gabriel. I've read Richard Gabriel. Friends, I'm no Dick Gabriel. I'm not worthy to close his open parentheses.
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:
No one knows how to reliably produce quality software on schedule. We've learned a few things that work pretty often, and more things that work sometimes; but our efforts are failures more often than those of bridge builders two thousand years ago, or a roulette player any time. We don't get it.
Sometimes "mob software development" works. (Examples cited.)
Sure; but sometimes, anything works. There is no method, no process, no trick so lame it can prevent any and all projects from succeeding. Some projects using UML as a Holy Grail and succeed; some follow "code, you're done," and get to their destination; some change toolbelts every six months and yet, two years later, have something that works.
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)).)
-- Stupid job ads, weird spam, occasional insight at
What Motivates the Mob?
by
humblecoder
·
· Score: 2, Insightful
First, a general comment about the article. Maybe I need to re-read it again, but I got the impression that the authors were dancing from one topic to another without really tying them together. It may make for interesting prose, but it really detracts from their arguments.
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
by
Anonymous Coward
·
· Score: 2, Insightful
Whenever you hae a large amount of people working on one thing, it tends to turn out average. It's simple math - you have people at both extremes so it ends up in the middle. The more people that work on something, the more compromise has to be made, and anything fringe or revolutionary is cast aside. "Average" means just that...
THIS would be a perfect example of what I'm taking about. This is a packet sniffer that was worked on by my entire CS class - it sucks. Why? Because too many people had good ideas but no one wanted to implement them. That many people just gravitates towards the plain jane.
Re:What a load of clich�d bull...
by
3am
·
· Score: 2, Funny
yeah, i sprained my duende once, and could hardly sit down for a week. terrible stuff.
--
A: None. The Universe spins the bulb, and the Zen master merely stays out of the way.
Yup we sure do
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.
I refuse to argue with Anonymous Cowards - if you want a discussion get an account....
I skimmed through the article, but this didn't make sense: if there are projects that are an order of magnitude or two larger than the space shuttle, and he argues that the space shuttle should have had 26,000 programmers instead of 260, does that mean that these larger projects should have 260,000 to 2.6 million programmers? Where are you going to get that many programmers?
The biological analogy not holding is the entire point of the article! Gabriel is trying to get us to look at a different model where the biological analogies apply.
"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.
********* sig: If you don't like the law, get filthy stinking rich, and buy a better one.
"The builders shared a set of principles--the common pattern language."
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.
At first glance, I thought he was talking about a database to keep track of whose kneecaps to break, with a friendly MS Word'esque helper with the face of Tony Soprano telling you "It looks like you're tryin' to write a fsckin' business letter." Then I actually read the article. . .
- Relativistic? That's barely Newtonian!
How can we say it's mob software, when that implies that "noone in the group is regarded as important".
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.
--- Will in Seattle - What are you doing to fight the War?
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
``"Let's have a whole bunch of people try real hard for a real long time, and eventually all the (rockets/software) that doesn't work will explode, leaving us with stuff that works".
``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.
On the subject of large software projects being worked on by lots of people:
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.
Has a mob ever built a cathedral? Has a Mob ever written poetry? Part of what makes a 'Mob' a mob is its mindlessness, its random application of its great energy and enthusiasm. A team or an army is far more productive. The only thing inviting about a mob is that it's activities are generally free.
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.
- Sig this!
I'm confused.
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
--- Worst tagline ever.
When I read this headline, all I could picture was a bunch of mobster software developers sitting around a table like in Goodfellas...
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."
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
A software methodology that has a stupider name than "X-Treme Programming"
Trolls throughout history:
Jonathan Swift
next on /., an essay where several renowned musicians are quoted supporting a "flowering carnation" development model. This development model is powerful and interesting for several reasons, as Britney Spears, members of the band Metallica, and popular rap artist Eminem point out to us.
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.
I guess this means that you are part of the "get-the-torches dept." that produced this news article... ;o)
I'd rather be a termite (artisan) than a cog (excessively managed code monkey).
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.
blog.sam.liddicott.com
People can work on internet infrastructure because they can treat all of the other devices as following the same set of rules with variation in the details. Everything is constructed such that the large-scale behavior is obvious from the rules that all of the devices have agreed to follow.
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.
the best way to kill a project, mire it in personal squabbles whenever someone's precious idea is thrown out in favour of another.
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...
In addition to the stuff we all know about open source, there's a good point in here about the benefits of the quick-and-dirty approach. This idea is that too much design leads to unimplementable projects which are optimized for situations that don't actually arise; it is better to do only a little design and then implement something, so that you can find out what the implementation issues actually are.
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.
Isn't he one of the guys that OJ slashed?
dinner: it's what's for beer
You bring the pitchforks and I'll get some torches. We'll have Mozilla 1.0 out in no time!
"Prefiero morir de pie que vivir siempre arrodillado!"
Someone here wondered a few days ago how an Internet worm might succeed if it were able to mutate and evolve in a Darwinian context. This writer is wondering what software will be like when all code can evolve, and interact, and what that emergent behavior might be like.
.NET will become a monoculture on the internet -- it would be quite a surprise to suddenly find little XML packets flying around in a language nobody could understand, the fruit of some bright hacker who releases a clever little self replicator, evolving at five generations an hour.
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.
A customer service representative will be with me shortly.
I was surprised and pleased to see references to Stuart Koffman in this essay.
The research being done at the Sante Fe Institute 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...
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^{
Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
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.
Software should be written while you smoke a big fatty.
--Lawrence Lessig for Congress!
As long as you have some organization, it will work, though. Er, Linux?
/Brian
Do we really need another organized crime syndicate in the software business?
After all, we've already got Microsoft.
Yeah - orgy software, that's what it is anyway. Or maybe software developed on a 'love swing' or a BDSM rack.
Grovel before the Mistress of Macro, the Princess of Perl, the Dominatrix of Data! Lick my boot, slave.
Because absolutely *everyone* here has either:
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
Three Step Plan:
1. Take over the world.
2. Get a lot of cookies.
3. Eat the cookies.
I am looking but i still dont see the 'it thought MS were the mafia post' yet.
:)
Still and all it has to be coming soon
I refuse to argue with Anonymous Cowards - if you want a discussion get an account....
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:
- I gain useful skills that eventually get used in my day job. I become the foobar guru.
- I can point to my achievements outside the day job and say "look! See, I am of consequence elsewhere; I understand the industry well, have a little influence in it, and another employer would jump at the chance to employ me".
Actually, the problem is, no time to play with the shiny things because I'm too busy hacking interesting code. Interesting code is a real breath of fresh air because you do it when you want to, and not today if you don't feel like it.Richard Gabriel gave this speech at theOOPSLA 2000 Conference (Object Oriented Progamming, Systems, Languages & Applications). There are some other interesting keynote presentations there including a piece on Adaptive Software Engineering (PDF Alert!!).
.pdf of the essay, or if you can't view pdf's, check out the cover.
You can download a
"My mother never saw the irony in calling me a son-of-a-bitch." - Jack Nicholson
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.
Holy crap, I got sucked in and held out until about 8/10 of the way through the article to finally discover what the hell he was talking about.
;) Who cares? Well this guy seems to want us to believe that if we just throw all our "gifts" into one big humongous happy amorphous blob, that we will instantly be able to miraculously combine any pieces and come up with amazing software. Does anybody know an author who writes books solely by going to every library in the world, examining every book, and copying the "best" parts? My point is that even if we threw all this marvelous stuff together and gave access to everybody --** there would be no possible way for a single human to digest such vast amounts of information **--. It would be like creating the best bottled water by sorting through every h20 molecule in the world. Impossible.
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.
It's 10 PM. Do you know if you're un-American?
This is an essay worth reading once to get the idea of, and a second time to get a real sense of what it means to you.
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.
What we call folk wisdom is often no more than a kind of expedient stupidity.-Edward Abbey
So I guess Microsoft OS's must just use the hardware a lot more than Unix then?
>what was it I (and hundreds of thousands of other) IBMers used for, like, 20 years?
You used a grab-bag of renamed office productivity apps that had almost nothing to do with Guglielmo's massive boondoggle. Office Vision was *supposed* to be an integration framework for apps to run identically across the mainframe, mini and PC product lines. It didn't happen.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
The bigger the project, the more people should be writing it?
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!
If God gave us curiosity
... no lights but for the sickly glow of hundreds of monitors... a mob of coders, all hunched over their various workstations.
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!
...something about an infinite number of monkeys on an infinite number of typewriters. It could work... :)
"Your superior intellect is no match for our puny weapons!"
Somehow, I don't remember the CircleMUD code having sentient neural-nets coded into the Mob routines.
Even the best elven scribes would be out of their league with this one.
the liberator who destroyed my property has realigned my perception
www.quantumheresy.com
This is the essay that formed Dick Gabriel's OOPSLA 2000 invited talk.
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".
Cheers
-Stu
IBM Project. $900 million spent, NOTHING delivered.
-nuff said.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
I get the news I pay for, I guess.
--hongpong.com
I think you are missing the point. The value in "Mob software" is goes beyond the sum of the mob's man-hours. The society that is created by the mob allows software to not have to be written more than once. It allows the wisdom gained in each of the writings of each of those pieces of software to be shared. It allows small projects to tap those in the mob that have the expertiese rather than spend time aquaireing it on their own (while offering their own expertiese in exchange).
Im not here now... Im out KILLING pepperoni
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.
Dennis ritchie didnt thats true - but he built about 90% himself - and thats in the books No one said they were relevant in current context - they really arent (including Dennis Ritchie) - i was illustrating a point that the people are there and will continue to be there now and in the future - its hard to been seen as the sole creator of anything these days but the geniuses do exist. As for pointless heor worship - history will teach us many things - pity most people dont want to know.
I refuse to argue with Anonymous Cowards - if you want a discussion get an account....
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.
...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.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
This sounds like a couple of guys who are unable to let go of the heady, exciting days of software development in its infancy, and move to the next stage.
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...
I don't know what he's talking about. There's no mob mentality on the internet. The web is a place where individuals can share unique and sometimes conflicting ideas in a positive manner. To imply that there is any kind of groupthink...
I just realized where I was. Tra la la.
And those ways just happen to not be conducive to creating software.
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.
I would dare to guess that the writer of this article is quite likely to be an INFP personality according to the Myers-Briggs personality type classification system.
Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
"I will give you a patch you cannot refuse"
Well, it might work
/Janne
Trust the Computer. The Computer is your friend.
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:
- No one knows how to reliably produce quality software on schedule. We've learned a few things that work pretty often, and more things that work sometimes; but our efforts are failures more often than those of bridge builders two thousand years ago, or a roulette player any time. We don't get it.
- Sometimes "mob software development" works. (Examples cited.)
Sure; but sometimes, anything works. There is no method, no process, no trick so lame it can prevent any and all projects from succeeding. Some projects using UML as a Holy Grail and succeed; some follow "code, you're done," and get to their destination; some change toolbelts every six months and yet, two years later, have something that works.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)).)
Stupid job ads, weird spam, occasional insight at
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.
------
www.moneybythenumbers.com
Whenever you hae a large amount of people working on one thing, it tends to turn out average. It's simple math - you have people at both extremes so it ends up in the middle. The more people that work on something, the more compromise has to be made, and anything fringe or revolutionary is cast aside. "Average" means just that ...
THIS would be a perfect example of what I'm taking about. This is a packet sniffer that was worked on by my entire CS class - it sucks. Why? Because too many people had good ideas but no one wanted to implement them. That many people just gravitates towards the plain jane.
yeah, i sprained my duende once, and could hardly sit down for a week. terrible stuff.
A: None. The Universe spins the bulb, and the Zen master merely stays out of the way.