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/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.