On 1/16/2011 4:11 PM, Markus Hitter wrote:
Hi all,
having run an open source electronics project with the intention of
collaborative development for a few months now, the experience is less
than inspiring. So I'm looking for opinions on how to do better.
http://reprap.org/wiki/Generation_7_Electronics
http://github.com/Traumflug/Generation_7_Electronics
Looking at what happened in these few months, I think the essence can
be described in 3 topics:
1. Files aren't mergeable.
While PCB isn't that bad at keeping changes to the saved file small,
there's always at least the also stored file creation date letting
merges fail. One can store a design's files in a Git repository, of
course, but always only in a linear fashion. As soon as one
collaborator works on something, all others have to wait until he's
done. The versioning system would actually need a locking mechanism,
like good ol' CVS had.
2. Agreements on design decisions are impossible
For example connectors: Some use connectors with 4 mm spacing, others
use 5.08 mm spacing, third people consider anything pluggable as
stupid and use nothing but screw connectors. A project leader -
y'know, open source tries to avoid such terms - can do a decision, of
course, but single people will plainly refuse to manufacture or use
anything without their favoured connector. Such design details are
apparently hardcoded in electronics' people's brains.
As a result, lots of incompatible designs exist, and there's nothing
like a "preprocessor", which could switch between different details on
the fly. The same applies for FETs, diodes, jumpers, whatever.
3. No focus on the problem to solve
If you look at the recent commits of this project you'll see
enhancements always coming along with a plentitude of unrelated
changes. Yes, make these pads a bit bigger, but also move a track here
and change a text there. "looks better".
IMHO, doing such random changes is good for nothing but asking for
trouble. Yet, none of the coworkers seems to see what I'm talking
about. They do "looks better" all the time, making reviews a lot
harder, and sometimes you even get regressions.
Being more a mechanics and software guy, I'm astonished how things in
the electronics world apparently work. Perhaps I'm exaggerating a bit.
Is it even possible to do something in collaboration? I'd appreciate
any answer.
Cheers,
Markus
P.S.: Yes, I'm well aware of the Arduino project, and I see only
single people results there. No collaboration.
P.P.S.: The project's success isn't as bad as the above might imply.
The design actually works.
I feel your pain! Even working in a company, it gets frustrating for
both designer and manager alike. Managers only want to focus on the
short term goals because it is hard to meet the long term goals if you
don't meet the short term goals. Designers want to optimize everything
with the idea that with optimization comes efficiency resulting in
meeting the goals better and possibly quicker. Of course, neither is
100% right, but at least company management can make decisions and end
stalemates and thrashing.
In a volunteer project it is hard to get people to focus on the
appropriate goals. But this is in no small part because the goals are
not agreed on and possibly also not communicated even when agreed on.
My one suggestion is to get your participants to agree to written goals
and then make them very visible so they are not forgotten.
In reality, you have to work using the same methods as in a job. You
just can't beat people with a stick to make them do it. The stick
doesn't work well in a job environment and doesn't work at all in a
volunteer group. But without goals and the rest of the organizational
stuff, the work will proceed slowly, not always in the right direction
and result in a lot of frustration.
Sorry I can't be a bit more specific. To be honest, I was a little
turned off when I tried to read your web page and the opening didn't
even tell me what you are doing! It referred me to another web site
entirely... and then another...
Rick
_______________________________________________
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user