Re: Mission Statement for a New Company based on Voluntarism-taken-to-Extreme
Shlomi Fish <shlomif-ik1l9ssToec+JF/[email protected]>
| Newsgroups | gmane.culture.hackers.israel |
|---|---|
| Message-ID | <[email protected]> |
Hi Nadav!
On Thursday 12 April 2007, Nadav Har'El wrote:
> On Mon, Apr 02, 2007, Shlomi Fish wrote about "[hackers-il] Mission
Statement for a New Company based on Voluntarism-taken-to-Extreme":
> > That has made me thinking: why can't there be a perfect workplace in
> > Israel? Here's how I define perfect:
> >
> > 1. Integrates the best of http://www.joelonsoftware.com/ ,
> > http://www.catb.org/~esr/writings/cathedral-bazaar/ ,
> > http://www.extremeprogramming.org/ ,
> > http://www.paulgraham.com/ , etc.
>
> Just a thought:
>
> Maybe these issues are not as important as you think?
> Some of the most interesting small projects that I ever worked on didn't
> follow any of these rules.
All of these rules are not a panacea or a necessity. To quote Joel from
http://www.joelonsoftware.com/articles/fog0000000043.html :
<<<<<<<<<<<<<<
Of course, these are not the only factors that determine success or failure:
in particular, if you have a great software team working on a product that
nobody wants, well, people aren't going to want it. And it's possible to
imagine a team of "gunslingers" that doesn't do any of this stuff that still
manages to produce incredible software that changes the world. But, all else
being equal, if you get these 12 things right, you'll have a disciplined team
that can consistently deliver.
>>>>>>>>>>>>>>
However, integrating them all will make your programmers happier, the employer
happier and everyone more effective.
> What *is* bad, however, are employers that try
> to stuff their own (often stupid) software management techniques down your
> throat. I don't mind that my employer doesn't use a specific software
> management technique, but it does bother me when the technical team wishes
> to use some technique, and this wish is vetoed by the management (for legal
> reasons, legacy reasons, investment in some commercial software, etc.).
>
> I believe it is more important what you work on, and *why* you work on it.
>
> The "what" is obvious, but the "why" is also important: Are you working on
> something because you believe it's important (and perhaps even helped to
> invent), or because some clueless client or equally-clueless bossed
> "dropped" some stupid requirement on you? Are you working toward a
> long-term goal you can understand and believe in, or are you being "blown
> in the wind" (using the ship metaphore I used in previous post) each month
> doing whatever things your boss, clients, or whatever, wants you to do this
> month?
>
Right.
> For me, the perfect employer would have me working toward long-term goals I
> believe in.
>
> This is also why I like working on free software (and especially Hspell),
> which allows me to work in exactly this manner. Users' requirements are
> always in the background, but I'm free to choose my own priorities and own
> long-term goal, and stick to that goal (which in the Hspell case, has been
> more-or-less been done).
In a previous workplace of mine I was instructed to translate a PHP+Flash 8
program from PHP to Perl. At first, I thought it was a legacy program, which
needed to be translated, and started working on it. Since I did not want to
fork the Flash 8 code, I decided to emulate the PHP behaviour in Perl. This
took a lot of work.
As it turned out all of it happened because our marketing department wanted
the application to be either "PHP, ASP or Perl" so people can easily deploy
it. But as you know, maintaining three differenet codebases in three
different languages does not scale, and always break.[1] My boss told me it
was equivalent to maintaining three different translations, but that's not
the case, as someone who worked with most translation tools now.
{{{{{{{{{{{{
[1] - XP says that you shouldn't also maintain a codebase and some external
documentation that describes it because the code will always grow out of date
with the documentation.
}}}}}}}}}}}}
This is one case, where the whims of marketing (who I think did not understand
the technology properly, and the fact that just having a PHP-only codebase
will give us most of the marketshare), caused the engineers to become
sub-optimal. I'm not claiming the engineers are always right, just that they
should be taken into the equation.
A good example of a case which almost completely ignores its engineers is the
present-day OS division of Microsoft. They are creating more and more complex
technologies in their operating system, which is growing into a bug-to-bug
backwards compatible mess that no one wants or is able to tweak. And even
Vista is still much inferior to the elegenance and power of some
high-quality, open-source, UNIX-based OSes. Vista came up with all of its
most-hyped features excluded early on.
>
> > 3. We will work on open source software exclusively. Not just GPL - but
> > also ,and often preferably, LGPL or MIT X11. The less other people and
> > companies ask
> > us for permission to use our software - the better.
>
> Is this going to be a company producing software, a services company (like
> consulting, etc.), a company for which software is just a part of (e.g.,
> a hardware company, like TiVo), or what?
>
> From most of your description, it sounds like you're talking about a
> software company. If this is the case, I don't understand your business
> plan. How is this company to profit? What is it selling if everything it
> works on is open source?
>
Well, first of all let me note that this idea is very theoretical and while I
think it is good, I won't recommend you to depend on it. Here are some
business models:
1. We'll create FOSS codebases for websites, (like a better webmail, or a
better freelancers board (see http://xrl.us/vqdj )) and then set up our own
sites based on them. Alternatively we can also hack on existing FOSS
frameworks (while contributing everything back to FOSS) and again set up our
own sites based on them.
2. We'll support our software. While the code will be perfectly usable, and
can even be used in a proprietary context, some people will want to consult
us on how to set it up, get it working, debug problems, etc. The code will be
free, but our time won't be.
3. I suppose that if someone is the company's paid employee, we can ask him to
give us a percentage of his fees for consulting, contracting, or commisions.
> > 5. We will allow free choice of language.
>
> Programming language, or human language?
> What if one employee decides to talk in French and program in Fortran - how
> will anybody else understand him?
> Of course, there should be diversity (not the 100% Java environment I
> currently work in) but "free choice" is a little too strong.
>
Programming language, of course. :-) All of our internal communication will be
in English, and a good control of English will be necessary to be employed.
I'm not sure I know what I have meant by "free choice of language". Maybe I
meant that we won't force someone to work with a language against his will or
because it's the most hyped language currently.
> > 6. Everyone can become a member of the company simply by adding himself
> > to the wiki. He or she will not get paid immediately, but they still can
> > consider themselves part of the company.
>
> Ah?
> You lost me here. What does "being part of the company" mean, if you don't
> get paid?
It means that you're part of the community. For example, I was active in the
Subversion #svn channel on Freenode (helping people with their problems,
etc.), read some of the mailing list, contributed patches, and wrote a few
advocacy articles, without getting paid. I no longer do, because Subversion
has been working for me very well for a long time, and I no longer feel my
help there is needed much. (While the GIMP is in much worse development
condition and can get all the help it can get[1].) But I was still part of
the community, even though I didn't get paid directly.
So in a sense you can work on this company's projects, or otherwise take part
in its discussions, without yet getting paid, or even without ever wanting to
getting paid.
{{{{
[1] - Just for the record, I believe GIMP could have been in a much better
shape nowadays if it had not been for the high tactlessness and apathy by
many of its core developers.
}}}}
>
> > These are just a few examples - there are many more. But the point is
> > that I believe such a company will not only be very popular, but can in
> > fact be profitable. Paul Graham and ESR have rambled a lot about how
> > people who are left to do what they want to do, rather than what they
> > feel they are obliged to do, produce superior results to those who don't.
> > Such a company can be a very powerful force, even in comparison to
> > Google. And most importantly it will be a great employer to work for.
>
> Free Software is an excellent proof of the superior results of the
> processes you describe. However, it doesn't provide much proof that you can
> profit from it by selling software (which it sounds like you're planning).
I didn't claim I was going to sell software. There are other ways to make
money off software than selling it.
> We already have "Free Software", and people can "just add themselves to
> Free Software" at will and work on what they want. The only question is how
> your company fits into this puzzle.
See above.
Regards,
Shlomi Fish
>
> > I suppose that once someone has signed a contract, we can tell him to
> > give us a percentage of all the consultancy/contracting he's been doing.
> > Or we can
>
> It sounds like you're describing now the "partnership" model we once
> discussed, of creating a free-software/consulting firm which works very
> similarly to how law firms currently work. This is indeed a good idea, and
> one which I'd like to see materialize. But it is very far from what you
> described above...
---------------------------------------------------------------------
Shlomi Fish shlomif-ik1l9ssToec+JF/[email protected]
Homepage: http://www.shlomifish.org/
If it's not in my E-mail it doesn't happen. And if my E-mail is saying
one thing, and everything else says something else - E-mail will conquer.
-- An Israeli Linuxer
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/hackers-il/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/hackers-il/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[email protected]
mailto:[email protected]
<*> To unsubscribe from this group, send an email to:
[email protected]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/