Skip to main content
Welcome guest. | Register | Login | Post

The Perfect FLOSS Software Development Company

12 replies [Last post]
supermike's picture
Offline
Joined: 2006-02-17

I visualize success at times when I'm not wanting to finish a project. I try to envision myself the millionaire behind a FLOSS company, not only making a lot of people in the FLOSS community happy, but paying employees a sufficient wage, including myself.

Therefore, what do you think the perfect FLOSS (Free, Libre, Open Source Software) development company would be like if you were to work for them?

Example:

* Take advice from Paul Graham (famous IT essayist) and start the company in an rented apartment.

* Naps -- but what kind of rules about those naps? And how do you enforce that people don't oversleep and mess things up for everyone?

* Free drinks and especially decaf and caf coffee. But how do you pay for it affordably? Do you use productivity metrics that lower the bill to zero per department or per month?

* What other kinds of benefits?

* Sick leave is paid or unpaid? How many days allowed in a month/year?

* How do you solve the problems of meetings taking too long, or not enough productivity coming out of them?

---------

What's bad about the company you work for, and which you would completely undo if you had the chance?

* Stupid product or product configuration decisions. For instance, we have this product, Patrol, and we use it to monitor our Windows and Linux servers. Unfortunately some dope in the main office forced us to use a Windows domain ID. The problem is that if someone messes up a Patrol config, then the Windows domain account locks out, and people get false outages on their servers, causing everyone to react over nothing. Besides, Patrol is a lousy product and we have much better success with a combination of pingloops, Snare syslog forwarding client for Windows, syslog forwarding, and regular Bash, Perl, or PHP scripts that play with grep, sed, and gawk.

* Managers who get all the glory and all the cash for the hard work you do for them.

* No telecommute options, even if just once or twice a week. When you live an hour from work, it would really help to have this. I would even be willing to do it on a set schedule, such as only Mondays, or only Fridays, etc.

----

Anyway, let me know your opinions. It gets me to think about my future and motivates me. Perhaps it can motivate you too.

Offline
Joined: 2005-12-20

If you decide to do a FOSS company, then a lot of the work would be done by the community, as well as the company, so you would only have 2 or 3 other coders with you, the rest is done by people over the net because they enjoy it, or find it interesting. Also, to make money would be quite hard, I have though of this for my future, any idea how to do it?

supermike's picture
Offline
Joined: 2006-02-17

Make money is hard? Then how did JBOSS get a valuation of $200M this year and then got purchase for $350M, meanwhile, the CEO of that company, who was not just a CEO but an actual programmer (and a fine one at that), owned 51% of the ownership of it.

Note also all the boo coo money flowing into SugarCRM from venture capital firms.

No, you can make a lot of money from FLOSS. You just have to think of it coming from other avenues besides the software. This gives you a little leverage. First, you have some better legal protection against software patent infringement. Second, you win on many contracts because of costs. Third, it's open source. There are many other options.

For me, my first moonlight company will probably consist of FLOSS that is probably in two varieties -- payware and free thinware. Then, eventually, I'll make enough on tech support that I can switch to a payware/freeware model -- download it for free or pay me for the manuals, media, Tshirts, training, consulting, books, etc.

dylunio's picture
Offline
Joined: 2005-12-20

I think the happyness of the workers is important - if you screw them they will not want to work their best for you.
I think the Ubuntu/Canonical model is intresting. We know that Mark Shuttleworth has a lot a moeny - but he tries to keep the Canonical budget down and hopes (in some undesclosed way) of making money out of it in the future.

If you have a good product - people will buy it. Also if you have a good Free product a community will build around it (see Ubuntu community);

dylunio

libervisco's picture
Offline
Joined: 2006-05-04
Re: The Perfect FLOSS Software Development Company
"supermike" wrote:

I try to envision myself the millionaire behind a FLOSS company, not only making a lot of people in the FLOSS community happy, but paying employees a sufficient wage, including myself.

Probably everyone has dreams of becoming a millionaire, but from my real life perspective I would be quite happy to get a decent monthly income of some $1000 or so, which should cover all my living expenses and even let me gradually reinvest. I don't need to become a millionaire.

Also, I think expecting to become a millionaire off of Free Software may not be a great way to enter the Free Software only business. Proprietary software company owners that have become millionaires and billionaires have become so by exploiting a big hole in the ethics system of our world that twists software into what it isn't for the sake of their profit. They didn't earn most of that money, they stole it.

Free Software supporters shouldn't in my opinion go into Free Software businesses to become millionaires, but to do something great and awesome with Free Software, increasing the Free Software market and earning enough money for themselves and their company to live a healthy life. Money as a sole motivator may soon become the corruptor. I'm not implying that is the case with you supermike, though, just stating my opinion.

"supermike" wrote:

* Take advice from Paul Graham (famous IT essayist) and start the company in an rented apartment.

For a start I would settle with my own home in a section of my own room. Actually, according to what Paul Graham says you don't even need to plan to move out of the home if it isn't necessary for some external reasons such as if you have local employees that have to travel to it. Otherwise, home should actually be just fine.

The thing is that for certain software development or internet companies you don't necessarily need to have local employees coming to your work area. You can do it all over the net without leaving your home office. If local laws in Croatia allow foreign employees I imagine most of other countries wouldn't have a problem with that either.

"supermike" wrote:

Make money is hard? Then how did JBOSS get a valuation of $200M this year and then got purchase for $350M, meanwhile, the CEO of that company, who was not just a CEO but an actual programmer (and a fine one at that), owned 51% of the ownership of it.

Note also all the boo coo money flowing into SugarCRM from venture capital firms.

One thing to note is that both of these companies have mixed proprietary software with Free Software and surely made some compromises that a completely ethicaly minded Free Software company wouldn't make. OK this will probably be argued.

It's just that while I can admire the enterpreneural spirit people like Fleury and learn a bit from them, I don't necessarily take these companies as complete role models for whatever I would like to start. I like to think I would be able to start something even cleaner, even less compromising, a true Free Culture company. Infact, you're seeing the bare basis of it in front of you. Libervis Network is likely gonna be a base for a future company (though it is not actually software development, but rather web building).

"onlinebacon" wrote:

If you decide to do a FOSS company, then a lot of the work would be done by the community, as well as the company, so you would only have 2 or 3 other coders with you, the rest is done by people over the net because they enjoy it, or find it interesting.

That's true. However, as someone a company founder you have to be careful not to start looking at the community as if they were your employers doing the work for you. No, they're doing it for themselve and you are merely a guest who is allowed to take part in the benefits and do something with it that would benefit yourself and back the community. Community is never an owned thing (and can therefore never be bought or sold). If your company wants to take advantage of a community cooperation, it has to cooperate on equal terms (meaning you're not more important than the next basement hacker with a few bucks in his pocket that is part of that community).

When it comes to Free Software businesses you indeed can hardly be without a community, but treating that community with disrespect and as merely a work force for you, will surely come and bite you back in the bottom. Eye

"onlinebacon" wrote:

Also, to make money would be quite hard, I have though of this for my future, any idea how to do it?

I think there are various ways, and in the Free Software realm I believe there is space to innovate new business models that work without compromising freedoms. One well known way is to sell support contracts with your software (to those who need professional support) without restricting four freedoms with that software. You can always sell a copy of a program. You just shouldn't restrict what people can do with it once they've bought it (they should have four freedoms).

There are other ways.. I've tried to devise one possible model here

supermike's picture
Offline
Joined: 2006-02-17

Can you go over the 4 freedoms again? You'll probably also want to pin that item.

supermike's picture
Offline
Joined: 2006-02-17

The hardest times I have with telecommuting are:

1) Whiteboarding. If it's just two people, you can use some online tools to achieve this, but you have a limited space and it gets confusing. I've also been on a stupid call where 50% of the devs were in a conf. rm. together, whiteboarding on the wall in a discussion, and they conferenced in all the other devs. All of us other devs couldn't keep up with the discussion, not able to see what was on the whiteboard. They tried pointing a web cam at it, but it the picture was too fuzzy and the discussion moved too fast for us to keep up. In the end, I hung up and called my boss to complain that I can't work in these conditions. (That was in a previous job at Avanade. I hated that place.)

2) Dialect. Don't get me wrong. I have a genuine love for intelligent people around the world. It's just that I speak English differently than they do -- it's a different dialect. I have to ask them to repeat stuff. For me, this is especially an issue when I interact with people from India, Pakistan, Sri Lanka, etc. For instance, I even have this same problem in speaking to people in the Southern USA who have a long drawl when they say things and often say words incorrectly on purpose. Here's an example -- "elts" instead of "else". So, needless to say, con calls with these types are arduous and I have this problem where I have to ask people to slow down or repeat what they said.

3) The guilt I have when my coworker decides to get a wild hair, not eating, living, or doing anything but a bunch of code, staying up all night, and shows up in the teleconference with an incredible amount of results. Then I look like the goofball of the day with not enough work turned out. I've had this happen to me by devs who wanted me off the project because they were ego-maniacs who had no families to contend with. I just couldn't keep up -- I have a family that has expectations of me as a parent, husband, and relative. Sometimes this also occurs when two devs decide to drive to meet each other in a motel room, coding it out there, and then joining the con call the next day. Sometimes I'm cheated out of some added synergy there. Of course, the only way to fight this is to fight fire with fire, pulling an allnighter, myself, showing them up. But standing back from that by 500 feet, it's childish. It's hard, being married and with children, to compete against programmers who don't have that kind of situation.

4) At Avanade, they did the most ridiculous thing for me. They told me to VPN into the Seattle office, get on TS on a system there, and then from there TS into the Manhattan office. (TS=terminal service) From there I was to open VS.NET and start coding in C#. Needless to say, my connection kept dropping and this was completely dysfunctional. I had to bail on that and this aggravated my stupid boss who said, "I have satellite Internet and I can do it just fine. What's your deal?"

(Side note on #4. At the time, I was on satellite Internet. I one day learned on the Internet how satellite Internet works. It works by converting TCP packets to encoded UDP, then sending these up to the satellite, back down again, where these are unencoded and converted to TCP. If you really hammer TCP connections, especially encrypted ones through VPN tunnels, the satellite encoder and de-encoder process fails and you lose the connection. Therefore, if you read the fine print with many satellite Internet connections, you'll see that they do not recommend or support VPN connections. Meanwhile, my supervisor must have had a better satellite connection than I did. His probably had a stronger signal and more throughput, and his PC might have been a heck of a lot faster than mine.)

5) I cough a lot. I have bad asthma and allergies and am working with a doctor to soon have sinus surgery. I'm a terrible candidate for long con calls because I'd be muting myself a great deal as I coughed, often missing things that are said.

Therefore, here's what I would do. I'd make some ground rules on telecommutes:

* Work hard, but be fair to other devs who families. Use good judgment on the work/life aspect and don't try to overdo something so that you look better than the next guy in a teleconference call. I mean, don't do it as an ego trip to show-up another dev or to try an embarass other devs. It's bad form. The key point here is not to do things to try and embarass other devs. That's not teamwork.

* Whiteboards are only to be used when you meet in person. Do not try and teleconference people in and point a webcam at it and expect these people to catch up.

* You may be asked to repeat yourself on a teleconference. Get used to it. For everyone else, do not feel intimidated to ask, "Can you repeat that? I missed that."

* By default, speak slower in a teleconference, even when aggravated or excited. Get used to it.

* If a slightly inactive meeting (meaning you listen more than you speak for large sections of time), mute yourself when you have to do a bunch of typing in a chat session or when you are in a mode where you just need to listen to a lot of dialogue before speaking. If it's a very active meeting, this is not always possible and you may find you all need to overlook the typing sounds because you're doing live chats, critical to the teleconference, at the same time as the teleconference where you are verbally speaking occasionally too.

* Don't rely too heavily on con calls. You might have to rely more on live chat and to have less con calls. You might have to have people fly in and stay for a week. I have found that flying people in during a project, and only staying for two days, is not only a huge expense, but not very productive. It's better to keep those people for a week.

* Instead of whiteboarding, use slides in OpenOffice. Whiteboards are great, however, when you have the whole team together in a room.

supermike's picture
Offline
Joined: 2006-02-17
Quote:

Probably everyone has dreams of becoming a millionaire, but from my real life perspective I would be quite happy to get a decent monthly income of some $1000 or so, which should cover all my living expenses and even let me gradually reinvest. I don't need to become a millionaire.

Also, I think expecting to become a millionaire off of Free Software may not be a great way to enter the Free Software only business. Proprietary software company owners that have become millionaires and billionaires have become so by exploiting a big hole in the ethics system of our world that twists software into what it isn't for the sake of their profit. They didn't earn most of that money, they stole it.

Free Software supporters shouldn't in my opinion go into Free Software businesses to become millionaires, but to do something great and awesome with Free Software, increasing the Free Software market and earning enough money for themselves and their company to live a healthy life. Money as a sole motivator may soon become the corruptor. I'm not implying that is the case with you supermike, though, just stating my opinion.

Of course, you know, I *have* to comment on that. Smiling

You are so painfully right sometimes. Jeesh. I wish that weren't so! Smiling

I am 38 and you're 21, but you have your head screwed on straight and I think mine's been battered a bit by the world and by family life. I've got a wife who wants to do all these huge, expensive projects with our home and our land, and I have to tell her we can't do those things because they cost money. Meanwhile, we built this mansion of a home during the dot com bubble, but then when it popped suddenly on us, I had to finish it on what little cash I had left. What you see, in that case, is a messed up floor where the house sunk in the back by about 2 inches. I need to get this jacked up, but it's very expensive. It's also dangerous to do by myself without hiring a professional. I then also have to rip up the entire upper floor, room by room, releveling these floors properly. This is because when you straighten a bottom floor, you cannot get the upper floor to be 100% perfect and must go down to the floor joists to fix it. Luckily, I know a thing or two about building houses and repairing them. We also have a need of a tractor and our relative moved away, taking his, so we have all these farm fields around us that need to be dissed every season so as not to be a huge fire risk from the brush. Tractors are a huge expense -- about $8,000 to $25,000 for a good one.

So no, I don't need to be a millionaire, but once the project takes off, I need to earn at least a mininum of $55K and hopefully earn as much as $100K. Hopefully if I earned $100K for at least 4 years, I could fix some of these problems with the house and fix some of my other small debts. Then, if I went back to $55K per year, I could probably make do.

Like you said, I do not want to exploit people, however. If people work for me, they need a share of the profit that I get, and it needs to be fair.

From the perspective as a future company founder, I wished that I lived somewhere else than the USA. However, I value my Bill of Rights too much in this country (although recently it's been trampled with emminent domain issues, abuse of gun laws such that I cannot kill an intruder in my own home except under certain circumstances, challenges to free speech, and the Patriot Act is too over-reaching -- and I say this as a Republican who did vote for Bush).

I also don't like giving too much of my tax money to a royal monarchy. I just read an article off a link off reddit.com last night that many people have moved to the UK so that they can do better tax dodges than other countries, and can even utilize ask-no-questions Swiss bank accounts. I wonder how that's possible since taxes are high in England and you also have to pay a portion of it to the royal monarchy.

In America, if I want to hire employees to work for me and they live in this country, I have two choices. The 1099 Misc and the W2. If the 1099 Misc, then the employee is not an employee but a vendor or consultant. There's also an IRS litmus test that the vendor/consultant must pass or the IRS will force me into changing the paperwork the following year as a W2 employee. Even then, this is disputed and many people have had to go to court to fight that. Some have won. Others have not. Next is the W2. If the W2, I must pay a lot of overhead charges and file paperwork to the Fed Gov, State Gov, and County Gov for this person, which includes retirement, medicaid benefits, unemployment insurance, payroll taxes, etc. It's a complete pain and it's best to hand it all over to an accounting firm in town.

If I go under-the-table and just PayPal the person some money, this is eventually tracked by the IRS and I could receive a nasty "pay up" notice in the mail. I could also get turned in as a tax cheater. They even have large financial rewards in this country for those who report people as tax cheaters and are proven correct.

Next come the lawyers. You can't post anything competitive about your competitor on a website these days. You end up with letters from lawyers. I know -- in the past when I had a startup company, this happened to me twice from two different firms. They were cease-and-desist letters. I even posted on the Internet a web message about how to update a Compaq laptop to use a later version of Windows OS that it wasn't designed for, and I got a cease-and-desist letter from Compaq, one from the Phoenix BIOS company, and another from a vendor who inadvertantly left drivers on their website exposed so that you could download them without having to sign up or pay for it.

And then there's software patent law. In America, these guys are ferocious, from what I read in the press. I even sat down with one at dinner when I worked at Avanade and she annoyed most of us developers. Unfortunately she was the one paying for the meal, so we had to sit through it.

One option is to form the company offshore, put the website offshore, and hook up moneybookers.com or paypal.com to handle transactions for it. This goes into an offshore account called a treasury account. It has some tax dodge capabilities as long as you don't get caught. Then, when I want the money back, I have to either have my trustee purchase it for me and ship it to me, or do an investment for me, or use a generic trustee ATM card to make the withdrawl. Unfortunately the IRS finds out about these cards. If you continue to use them at the same ATM machine, you may turn around and find an FBI officer ready with a weapon and some handcuffs, ready to haul you off for income tax evasion.

Another problem with offshore treasury accounts are that they are sometimes run by the wrong people who can then threaten to extort you to the IRS if you don't pay your fees on time or whatever. Or, they could fold and your money could vanish.

So, in my opinion, America is not the proper place for micro-startups. We suck. America is perhaps only good for a small business that's actually got some decent funding under it and can establish ties with a good accounting firm and a good law firm to draw up contracts and beat off other patent trolls.

But what do I do, move to Belize, Australia, or Gr. Britain? I have no idea what these places are like or what kind of life I can give my family. Therefore, I have to stick with what I have.

I live near water. Some people have done something called close-shoring. They put themselves into a yacht and travel out into international waters. From there, they drop anchor and begin coding. At that point, you can do whatever you want, including swiss bank accounts, offshore accounts, or whatever.

In the days of early America, say, in the days of Thomas Edison, we didn't have all this garbage we have today. We could actually invent stuff with freedom and pay people whatever wage we felt they deserved. We didn't have patent trolls going about as much as we do today.

libervisco's picture
Offline
Joined: 2006-05-04
"supermike" wrote:

Can you go over the 4 freedoms again? You'll probably also want to pin that item.

They can be read here: http://www.gnu.org/philosophy/free-sw.html

I'll copy them:

* The freedom to run the program, for any purpose (freedom 0).
* The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
* The freedom to redistribute copies so you can help your neighbor (freedom 2).
* The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

In summary it is about freedom to run, modify (which needs source access), copy and share both modified and unmodified versions (for either money or gratis).

As for teleconferencing problems, I've never really done it so I can't speak from experience, but I'd say it probably comes down to a matter of organization. You can be in touch with your employees or coworkers every day via companies private IRC channel (or alternatively IM) as well as email. Not all meetings need to be video conferences. Sometimes a simple IRC meeting should suffice. I am constantly on IRC so I'm rather used to being in almost constant touch with libervis and nuxified moderators (and members who choose to hang on IRC) for example. Eye

libervisco's picture
Offline
Joined: 2006-05-04

Mike, that's a rather sad story. I'm not sure what to say. It seems that the dot com boom screwed you over (as many other people) and now in the post era you have to deal with it somehow. From an outside perspective we could say it is a normal outcome of an event that dot com crash was. But not everyone actually thinks about how hard it may be to bear the consequences. I guess we can be happy we weren't starting companies in the spirit of 2000. Eye

What you need right now seems to be what every enterpreneur needs, a good idea for a good company that would be able to get your financial problems straightened. I know I need that too. I'm not in much of a debt except for that latest internet access bill waiting to be paid. But I live so cheaply I never go out anywhere, just eating, sleeping and being on my computer working on this network, looking to maybe find some jobs as well as trying to get advertisers so I can pay these bills and chasing ideas on how to finally turn it all over into something I could make real money to live off, without compromising my ethics. Smiling

You seem to be in a bigger soup than I though.

Anyway, this is getting a bit offtopic here..

"supermike" wrote:

In the days of early America, say, in the days of Thomas Edison, we didn't have all this garbage we have today. We could actually invent stuff with freedom and pay people whatever wage we felt they deserved. We didn't have patent trolls going about as much as we do today.

Free Software and Free Culture movements are about bringing those days back. Programmers weren't always forced not to share and cooperate. We didn't always have software patents laws preventing programmers to innovate. USA has reached the top of that modern nonsense and you are so "lucky" to be in it. :|

supermike's picture
Offline
Joined: 2006-02-17

Yeah, unlucky to be in it. I just wrote Mr. Bush last night. I'm a Republican, but this guy is getting rather low marks from me. It just seems like I'm a salmon, swimming uptream, getting nowhere, regarding changes in America. We're becoming more fascist, and that's not what I believe to be Republican ideals. We should have the government turning the tables of these patent trolls. Software patents should be eliminated. We should have the government learning from the Indians after the British banks pulled out -- by turning around and reducing the red tape for micro-startups to get off the ground. Our government should make it easier to do taxes so that we do not need tax attornies and tax software. We should have a cheaper, more efficient government so that we're not taxed to death. It's all a conspiracy for one great big mind control.

So, about that perfect FLOSS company, many of you non-USA people, if you have reliable power transmission and reliable high speed Internet, you're going to do well. You're going to do a lot better than I will.

a thing's picture
Offline
Joined: 2005-12-20
Be smarter
libervisco's picture
Offline
Joined: 2006-05-04
excellent

That's an excellent article! It reminds me of something I've read by Paul Graham in his article titled "What business can learn from open source" where he says that sometimes a man can be more productive at home in his own bedroom or home office than in a corporate square office..

This is definitely something to consider when building a perfect FLOSS business.

Btw, a_thing, please don't put links in subject field. They don't have spaces and so disrupt the layout.

Thanks