ocPortal has always been developed to an Open Source business model. Originally, it was a "pay to remove the need to credit us" model, but for the last 4 or so years it has been a "services" model.The reasoning for our continued belief in Open Source is thus…
Software development is a fixed cost. There is no variable cost (no unit cost) for having someone use software on their own computer systems. It empowers the people of the world if they can get as much free value (free software) as possible, and it opens up routes for unforeseen innovations and continued development beyond the limits/visions of original software. There therefore is a strong ethical argument that it is wrong to put the brakes on this, to hold back human development, and that therefore Open Source development should be the expected norm.
A very good contemporary example is Cloud Computing. It would not have been possible with proprietary software. Imagine paying a fee of $2000 to Oracle for every $100/month Amazon virtual server you have, and then probably another $15k to various other companies that would have developed software to enable it. Okay, to be fair, actually there probably would have been a competitor come along and charge a much lower price for bulk deals. But practically speaking, it would really have set us back if every time we do something new, we have to negotiate for a whole stack of licenses.
The big problem, however, is that people often have misconceptions that "free" either means "done as a hobby" or "was cheap to make".
According to a tool that a few of our users have run on our code base:
ohloh.net said
it would take over 7 million dollars to write ocPortal from scratch
That's simply not true to be honest. There is no way 7 millions dollars, or even 1 million dollars, has flowed through our company. We are just a small business after all, and I'm proud we've been completely independent – there are no external investors. We're not like Zend, or Acquia, or DotNetNuke Corp, who have received this kind of money, but in my opinion are as a result forced to be overly corporate and charge 3 times what we charge to their business users.
However, in actual reality, I have thrown insane numbers of hours in development and my market value as a very skilled developer and product manager is very high (i.e. I could earn a lot more working elsewhere). Others have also contributed a lot of code (Allen and Philip, as well as various temporary contractors, and various traditional employees). If another company had developed ocPortal, where everyone involved was incentivised only as staff paid at market value, supported in a typical corporate setting (office space, management, etc), I actually really believe that figure of $7million could be accurate.
So, given we want an Open Source model, a software company has to then make money to offset whatever the fixed costs of development really are (and the costs are actually ongoing, even if it is just bug fixing) as well as hopefully pay some salary, and make a return on investment that also offsets "cost of risk". In today's connected-up, high fixed costs, in theory, can melt away as a small added margin on top of a high throughput of service business.
The way of thinking I like is that you do as much as possible for free, when there are no variable costs and where value is universal, and then what cannot be done for free is where you charge. In our case, support is a big variable cost, and themes do not have universal value (as the more they are used, the less their value) – therefore this is where we are making our money.
My big problem is that if people don't understand the cost and value of things, it really comes and bites everyone hard. The kinds of levels of professional skill and complexity around the work web development companies do are not at all commensurate with the kinds of services regular people purchase on a daily basis, or the cost of doing just normal web design. Coupled with a misconception of the value in free software, and heavy market distortion of offshoring to countries like India (which rarely ends well), as well as economic problems and global in-balances, it often leaves people ill-prepared for the real costs in getting big projects live.
There are roughly three kinds of users I am currently seeing it hurting:
- Non-technical people who are working on something complex that is "going to make a lot of money", but have not successfully assessed cost or sought investment
- Designers creating a feature-filled site for a client who they have quoted a low sum (often just the cost equivalent to making a static site design, or setting up a blog), thinking setting up their very complex site design will be as easy as tweaking ocPortal settings, and that ocPortal will just mould to their design without technical skill
- People working on voluntary/hobby projects, and therefore without a budget at all
Unfortunately when users realise they need help and have no budget for it, they press really heard, often to me personally. In fact I have to actively avoid posting in some topics on our forum at all because people will start addressing me personally with their questions when they recognise my name / see me as staff. Often when I work with someone to fix a bug, it leads to lots of personal emails asking for a series of free support answers. Routinely people put through free support tickets, ignoring all our site explanations on how support works.
I feel compelled each time to explain that time is money, that the burden of cost we've already taken on for free (ocPortal development/maintenance) can be in itself crippling at times, and that the only ways we make money at ocProducts to cover our huge ongoing costs for all the free goodies we've bestowed on everyone is by charging for that one-on-one time. Usually this doesn't go down well: often it turns into an argument, or just is ignored and the next day I get more requests in the inbox. Again, I don't wish to ignore people (I hate being ignored myself when I try to establish business relationships with people, for example) so I explain again.
Often people argue "if you do this, it will bring a lot more users, and you'll therefore get a lot more customers" or that "ocPortal needs this". I'm afraid I know from experience that adding levels of indirection in attaining income almost always ends badly, in terms of diluting both the likelihood and level of that income to impractical lows; besides, it's almost always based on what this particular user thinks the product should be, and that is often unique to that user.
Often we get promises of future work based on their success, and I always think "well, if this is likely to work, a bank will be very happy to assess you and give you a loan based on that – we are not a bank, experts in assessing business models and giving loans, we shouldn't be shouldering commercial risks on your behalf".
I need to be clear that these kinds of problem affect every Open Source project (and support costs affect every commercial project too!). It's just in most Open Source communities there is no one who steps up and tries to ensure the success of everyone in that community. If you go and look around forums of other software you'll see many many questions are not answered satisfactorily. The most successful people are either serious business people who have avoided the misconceptions and budgeted properly, or people who have their own professional skills and thus can bring their own order to things (often working for intermediary agencies, delivering Open Source solutions to their clients).
Sometimes people categorise ocPortal's "need" for support as a usability issue in ocPortal itself, and it's true we've had to improve usability in the past. However I am very sure at this point any complexity stems from the higher and more complex, more custom, requirements, that people try to implement in ocPortal (having picked ocPortal as it is literally the only strong 'packaged' option in many cases). For these custom requirements ocPortal becomes less of a product, and more of a powerful toolkit for use by experienced hands. It's all about knowing how to reshape things to meet a spec – and there really is no other way, as a product can't anticipate people's custom requirements, only ensure it has a well designed malleable structure with great building blocks. People often don't see their requirements as 'custom', having seen examples elsewhere – but often the way things are combined and interoperate is where that 'custom' is, or what is being compared to was itself a custom job.
Of course ocPortal can work out of the box to create very sophisticated sites, often able to meet every single feature required. It's just that it is rare that the default implementation structure is what people have in mind, especially as web design standards have really raised a lot in recent years. So customisation on top of defaults almost always does become necessary for a professional finish.
My advice for people to avoid the three situations above:
- Situation 1 – If you have a seriously good website idea, consider it a business. A sophisticated modern website requires a serious investment, so seek external investors with a properly written business plan that includes the full costs for your project, including support and software development costs. ocProducts has typical prices our company charges at our agency page, but you can approach other developers too should you not want to use us.
- Situation 2 – Make sure that you budget accordingly. Never assume that implementing a big project is as simple as comparing feature-lists. Feature-lists are only one part of requirements, things like structure and UI design may not be as you need them out-of-the-box. Unlike simpler web design, big projects also require serious project management experience and need implementing via a proper professional project management process (e.g. XP, Scrum, Waterfall, PRINCE). Seek technical advice and don't be surprised if the costs could easily be an order of magnitude higher than just a web design cost would be.
- Situation 3 – This is always hard, but users on our forum often do a good job of helping each other. People should always give in more than they take out – so if you get help, make sure you give others even more help than you received. Also ocProducts has a referral offer (i.e. by helping us find clients, you can get a bit of free professional-level support).
So hopefully with this blog post I have dispelled some misconceptions, and explained to people what they need to do to prepare for success




Edited
Comments
The "Free" Religion
it would take over 7 million dollars to write ocPortal from scratch".
There has never been a social/commercial model like the Cybernet before. The nearest was the matriachal societies of the Indu delta, 10,000 years ago.
"Free" is as demeaned a word as "love", today.
It *is* confusing. Ordinary experience cannot prepare ordinary people for understanding the complexities of the "freebie".
It is as simple as that.
That goes for most programmers whose technical skills far outweigh their trading abilities. :-)
In the "other" world, traders still offer you a cup of coffee or cold drink to entice you.
To prepare you to look favourably on them.
The confusion here is the distinction between a "sample" and a "free" service or product.
Even a rapacious lawyer will give you a "free" consultation to pitch you for work.
E.G.
A Vice-President of one of the world's biggest oil companies was aghast when he discovered that my little Productivity Counselling business was charging retainers to all his "competitors" of amounts far higher than even he made. (Far Higher… :-) ) and I was just a kid.
He couldn't see where the money went. All my offices around the world were tiny. Then he discovered that they were self-financing ( Ihad invented the "fully serviced office" concept way back then, which paid all their running costs for me, internationally.)
He was querying a bill of mine for a large sum, which basically said "for services rendered".
He, a typically cosseted American upper class man had no idea of the real world in which my "underground" payroll was very, very substantial.
His problem was that my little practise was being paid far greater rates than their gigantic other "consultants".
He couldn't see why.
His bosses could.
But, in this insane Cyberworld of today, there is no fundamental stable structure. It is full of (literally) kids, being manipulated by a totally new and functionally impossible financial system beyond the Medici's wildest dreams.
However, it is just a dream for the most part.
Like all dreams, it is not real.
For people like Chris and the thousands of others trying to make a way in today's economy, it is still a lottery. A lottery.
OCP needs to create a fundamental bio-structure to grow.
1. Separate commercial and O.S. activities completely. Two companies.
2. Refer all "custom" enquries to the "parent" which needs to be faked up to look real, big and serious.
3. Offer contractual paid support. NEVER by ticket/incident. That is self-destructive and only for Dentists and Cosmetic Surgeons.
4. "Pay" your O.S. supporters. Prizes and useful things for their help. The funding must - of course! - come from the ACTIVE commercial side.
THis would finally clear up most misconceptions for all concerned - and self-create the future possible directions released from the emotional aspects.
Peace! It's easier…
Only one observation: when did they become a 'company'?
I am glad you wrote this as it summarizes and clarifies things quite well.
As a member of the third group, I have no budget for my project. But I started to ask myself what was the value that ocPortal brought me. As a result of that thought process, I decided that it was appropriate for me to sponsor some tracker items as my contribution to the community. Yes, I will benefit directly from most of the changes but I even sponsored one item (#137) I do not currently see a need for just so the catalog stuff got wrapped up.
I wish I had the skills of temp1024, Jean or Fletch, but aside from the occasional question I can answer, I do not. I have received so much more than I have given to this community. I have resolved that next year, I will purchase a certain number of credits each quarter as my continuing support for the community and ocPortal. Does this make ocPortal less "free" for me? No. It allows me to give back to the community and to get the stuff I want done prioritized. I recognize that not everyone is in the position to do this, but the generous referral option allows those who know decision-makers with a budget to get free credits while helping others resolve their web presence needs.
One more thing I would like to tack on is translations. Everyone is busy (especially leading up to the holidays) but a collaborative effort to work on a translation will make quick work of these projects and will add great value to ocPortal just at the cost of a bit of time. The translations are probably the weakest area for ocPortal compared to the competition. Fortunately, they are also one of the easiest to address.
In the end, what I am saying echoes Chris's summarization: Try to find a way to give more than you get. It's a rewarding feeling.
Bob
I had a good belly-laugh at first, then I pondered the fact that in another 15-20 years this little tyke will be competing for your IT job!