Open Source & Strategy
When we were commercial software things we're, quite frankly, easier in a lot of ways. We had a few dozen clients we had active relationships with, and we worked on about half a dozen projects at a time. In those days it was pretty easy to try out a new idea with the CMS because we would simply put it on the latest clients setup and see what happened. We didn't really worry too much about keeping everyone on the latest version of the platform, and subsequently we didn't have to spend a lot of time worried about backwards compatibility.
We also didn't see a tremendous amount of intentional abuse of our systems. While we did build some large, active, and successful sites, the code behind them was only open to people who had worked with us in the past. To break one of our sites in the commercial days, you'd simply have to guess at vulnerabilities instead of being able to scour code for them first.
Now things have changed. Every feature idea we have is more and more tempered by "what will this do to existing sites or old versions." We've learned about (and quickly addressed) any number of vulnerabilities that some guy in his basement found for free – when paid consultants had found none for five years before. You quickly learn that even the most well intentioned work can cause havoc.
For example, there are two blocks in concrete5 that are commonly used to build navigations: the Auto-Nav block and the Page List block. The Auto-Nav block had been built to honor a certain variable you can set at a page level to hide that page from the navigation. The Page List did not honor the same attribute, and someone from the community pointed out that it really would make more sense if it did. We agreed and "fixed" it as part of some other version changes. Weeks later, people started complaining that their sites we're missing pages. After some frustration we realized "duh" of course people had built sites that worked around the way the blocks behaved in the past and the simple "fix" to the Page List block actually broke their sites.
We spend a lot of our time trying to manage issues that could mature like this now. I tend to take much longer to release something than I used to. I tend to be more thoughtful about the reasons and needs behind any feature changes. The temptation to "fix" something that could have been better implemented in the first place is very strong. Learning to first resist and then very delicately architect not necessarily the perfect, but rather the lowest impact solution, has been a new adventure for me. Once you go open source it is safe to assume that someone somewhere who is smarter than you and has all the time in the world, is finding the mistakes, finding the holes, and making up their own weird work-arounds which will impact you later. Be careful what you touch because no good deed goes unpunished.
Okay, we've been through this enough times that it deserves a clear position from the CEO….
concrete5 core is free and open source. When we say free, we mean "free beer." Our belief is that content management is a human right, and we are committed to making it easy for everyone in the world to run a website.
However, not every add-on in our marketplace is free. All of them are open source – meaning once you buy it you are "free" to do what you want to it for that site, and you can get "under the hood" completely.
Why do we do this?
A lot of time and money has gone into concrete5. Anyone who doesn't think we're generous has vastly underestimated the amount of energy that goes into making a powerful CMS that makes sense and doesn't require an expert to configure. We are people too however and not only do we need to provide for our families, we also need to continue to put the level of coherent leadership into the project that it benefited from when we were strictly commercial software for 5 years.
A huge part (IMHO – most) of what makes concrete5 so compelling over other projects like Drupal and Joomlais the fact that it does take the risk of saying "this is the right solution" to many problems. No, we don't believe you really need 300 results for "permissions" when searching for add-ons to a project. How about manning up and just getting the core solution right? That's our philosophy. We don't always hit the mark because we're human, but we've done pretty well so far, and that's the goal for the future as well.
Same deal with the marketplace. Other projects seem to have a pretty low barrier of entry for add-ons. I'm not entirely sure if there even is any barrier, but if it exists, surely the question is "does this add-on work with a clean install of our app? Didn't break? Okay give them a project area – goooo Open Source!" Well bravo for Free Love and everyone being Super Duper, but I see that as unfair to the next schmoe who is trying to figure out how to solve their own problem. If I download a weather widget and my whole site breaks because it uses the same table as some image gallery I already had running, everyone fails. The weather widget developer looks like an ass, and so does the image gallery developer. Both end up doing way more individualized support than they should to keep their customers happy. Moreover, the overall project fails because now no one can trust any add-on to do anything easily. This is where Drupal certainly is today, just look at Acquia's business model. This is unacceptable to us.
At concrete5.org you will only find things that work. If they don't work, we're gonna make them work for you. $15, $55, or even a couple hundred bucks is a small price to pay for something that solves a real business need for you and is going to work in a seamless, happy, healthy way. When we evaluate a new add-on, the question will be "does it work on an install with EVERYTHING added?" This is a huge challenge, but we think it's going to be critical to the success of our project in the big picture.
How do we decide what is in core?
Anything that will make a fundamental change to the way concrete5 works which would impact all add-ons and benefits the community/project is free. So recent additions that fall in that category include things like:
- A My Profile section that various add-ons like forums or ecommerce would depend on.
- An advanced file system that all add-ons can use.
- A better way to create shared central blocks.
The reality is that with other projects like Drupal, once you've installed one modification to the way core permissions work you've effectively rendered their massive marketplace to you. How can the huge community really even help when everyone's configuration is a unique one off? We're going to do everything we can to keep this project from splintering into core pieces that don't work with one another and render all subsequent add-ons a crap shoot.
Anything that we think is a basic building block to 80% of the websites out there in the world, we'll make either part of the core or free in the marketplace. So things around embedding most types of content, some interaction like guestbooks and forums..etc.. We're not asking "would everyone benefit" – because who doesn't want free stuff, but rather "do you /need/ this to get your point across with the software." Some examples:
- You can place banner ads using the Content Block, the HTML block or the Image block and your site visitors will never know the difference. Want to track click-throughs, impressions, and pull from centralized ad groups that randomize choices? You can do that, you can have it TONIGHT! That costs $55.
- You can assign a date to any page in concrete5, so it's possible to make many different type of chronilogical interfaces with the core. You can also just include a Google Calendar with the HTML block. Want a month view, list view, and ajax driven agenda view to a multiple calendar system that makes event pages spread across your site? Want that working NOW? You need to pay something too.
How do we price things?
We make it up. We don't frankly care how long it took us to write it, we don't care how much the competition sells it for, we're guessing how much you're willing to pay to have it "just work." No lie. This is business 101.
But wait, what about the Community??!?
Here's some promises to our community we've always kept and always will:
- Your stuff can go in our marketplace. We don't care if you're selling it or giving it away, if your able to give us a stable, solid, correctly packaged add-on for concrete5 and we don't think it's malware, we'll stick it in the marketplace. I can't promise you we'll feature it above our own in every interface view, but we'll gladly post your free image gallery block right up there next to our own $15 per site one. If yours is better and you can make the community happy using it, so much the better for everyone.
- We will help you sell your own stuff. Software is about support as much as creation. If you're making something and giving it away, you might consider selling it and making a buck. Getting out of the purely hourly revenue model is the dream of almost every developer out there, and we think we're gonna make a lot of dreams come true with this awesome marketplace. If you're making stuff that people want, you should want to help them install and use it safely. You should want to add to it over time. You should be compenstated for your efforts. If you'd like to sell something you've built in our marketplace, all we ask is 25% cut of the price. This is less than Apple's iPhone App store and from what I can tell comperable toDot Net Nuke's system if not better.
- This stuff is not going to be super expensive. I've seen libraries that take this approach where solutions cost many thousands of dollars. Crap, I remember buying a Digital Asset Management system from the Cold Fusion marketplace back in the day for 8k and still shoveling out 30k to the developers to customize it to our client's needs. This isn't the model here. The highest price we've even debated setting a product at so far is $255. That's what most targeted consumer software is priced at today. There's no five figure recurring yearly license fees here.
What does this mean for the project?
It means a lot of great stuff. It means we're going to end up building a community that is not only passionate, but is actually making a better life for themselves and their families out of their contributions. It means when you go shopping for add-ons for your site, you'll be able to do it with a smile on your face and try stuff out without fear.
Is it open source? Absolutely yes. Open source as a term is really just a catch all for any number of different license types from the 80's and early 90's when we were cutting our teeth in the BBS scene, and this idea honors them all quite well.
If you're still not sold, ponder this:
THE MAN is actually just A Man.
Thanks for making it though this rant, hope you agree – I'm sure you all won't. If you don't I'm all ears on constructive suggestions. If the reply is "it should be free because I want it to be, and it's not my problem how you or the project succeeed in the big picture…"… the door is that-a way. <grin>
Some very cool people in Japan have taken the lead with concrete5 there and will be demoing it at on Open Source conference this month. If you happen to be in Japan, or have a lot of disposable income and are looking for an excuse to jump on a plane and head there on short notice…. here ya go!
Usagi Project will attend Tokyo OSC with concrete5 Japanese version.
Tokyo Open Source Conference 2009/Spring
Japan Electronics College Building No.7
Shinjuky, Tokyo, 169-8522
RSVP the seminar at
Also you can just show up at our demo booth during the event.
Feb 20 (Fri) 10:00am -5:30pm
Feb 21 (Sat) 10:00am -4:30pm
Date & time for first meeting
Feb 20 (Fri) – 21 (Sat) (Seminar starts on Feb 21 11am)
We've gone a little dark new builds of c5 since osCon because we've been fully dedicated to this rebuild of SchoolPulse.com. We're making it all out of c5 and it's gonna be sexy, easy to use, and provide a lot of great blocks back to the project. It's consumed every waking hour from everyone I know for the last two weeks and weekends. It's launching next week.
In the meantime, here's an email thread I had recently with a new c5 fan where I lay down some of the ideas and plans we've been putting together as we watch our baby take off here:
> General feedback was submitted to ConcreteCMS.com. Here is the information.
> Name: Dennis
> congrats on your CMS! we are impressed and actually thinking about using it for our clients.
> we are a design agency based sydney australia and have a variety of clients, from local hairdressers to government departments. we are looking to use an open source cms to use for our small to medium sites. your system so far seems to be the most user friendly one.
> I have worked with other systems before, like joomla and wordpress, etc. now all of them have a massive following and ten thousand different modules, while your system seems to have a limited amount of modules (which is actually quite nice). but what if we need a certain module? could you develop it for us and can we re-use it on projects?
> let's say a blog – writing an article, getting comments (display upon approval), etc – is something like this already developed? if not how much would it be – just an estimate as the specs are a bit vague obviously?
> and last but not least, would you feature us on your page as design partner if we return the favor?
> that's it for now from my side.
> looking forward to hearing from you.
It's nice to hear from more folk as excited about c5 as we are. Thanks!
In short – yes.
1) I think c5 would be perfect for your shop. We too have been frustrated by the lack of coherent control, or scalable architecture in many of the CMS solutions available. We plan to always keep the core of c5 simple and approachable. It's our belief that most website development challenges can be solved with a dozen or two well architected blocks, and that's what we'll be shooting for as we continue to get to the "perfect core" in 2008.
2) We do have a guestbook and blog structure in a previous version of concrete that we'll be migrating as part of that "core tools" library, I'm sure. Also slated for that: more easily customized navigation controls, multi-lingual interface, a cleaned up advanced permission model (which right now has to be turned on and isn't quite as elegant as the rest of c5.)… all sorts of more useful goodies..
3) We will be launching a marketplace for blocks and themes shortly as well. If you as a third party developer are interested in making and reselling either, you'll be able to do it there easily. We'll also have a job board and something similar to etsy.com's alchemy where you can request or pledge for developments to c5 that other developers could build for. We're thinking there will be a 10% commission for the c5 core team, and there may be paid placement opportunities on that site as it matures as well.
4) There will also be a hosting site. It won't be the cheapest place in town, but it will have a very stable centralized version of c5 running with some nice backup/redundancy options.
5) I would love to feature your email and this reply on our blog at concreteTheStudio.com if that's amenable to you. Show me some sites built out of c5 and we'll talk about the Support page of concrete5.org, if you're interested in that as well.
if you're ever in pdx, beers on me.
ps: i love your site. nicely done.
Well no one on our end posted to you, because you're quite clear that Beta projects shouldn't be posted in your rules… and yes.. we read rules.. sometimes.
However, someone from your end must of been at osCon because we appeared on your site a few days ago. Here's a snapshot of our google analytics for the last month:
Gotta say, we were gonna wait till we had a release we were calling final before posting to you,OpenSourceCMS.com. The fact that we just magically showed up is great! We'll just take that as a pat on the back that what we consider Beta is pretty damn stable, and we'd like to say thanks.
(ps: hey reader, wanna help? vote for us on their site. when they first added us they linked to our demo in such a way that it wouldn't work so we got some low votes that are messing up our average.)
So we're all home relaxing after two grueling days at OSCON. Maybe "grueling" is the wrong word; we had a great time and met a lot of really interesting people, and we got to talk our jaws off about Concrete5. (The phrase "PHP-based content management system" becomes kind of a tongue-twister after a while.) I didn't get much of a chance to check out the other exhibitors' booths, because we had a constant stream of people checking out our stuff and I felt compelled to verbally inundate them all with how great Concrete5 is. I did, however, get a chance to utterly destroy Franz at a two-foot-high game of chess, met and Facebook-friended Facebook, and gave a whole lot of people screwdrivers. If any of you OSCON attendees find your way over here, thanks for giving Concrete5 such a warm reception. We're worn out, but we had a blast.
one week later, we're ranked 800 out of 179,523 projects on sourceforge, with over 150 downloads. We've got handful of people helping in various countries, we're hard at work on our hosting and marketing materials… Our booth for osCon2008 is purchased, we're hoping to leave that event with 30 active developers contributing their time… we've basically got 6 weeks to get ready… very exciting…
So I originally architected Concrete CMS in a nice little bar in SE Portland to deal with an adCouncil gig we had with too many stakeholders and not enough time. That was many years ago, and since the early days my dear friend and comrade Andrew Embler has taken the loose direction outlined in my sketchbook of "blocks and collections" and made it work on fixed budgets for demanding clients. Concrete has had some really compelling concepts since those early days, but like any box of tools you use hard – there's some idiosyncrasies that drive you up the wall. Being the guy finally responsible for training clients, and getting content into working sites that make sense – I've been looking forward to getting my hands on the complete re-haul concrete5 for some time. I've peered over shoulders a lot, but today was the first time I got to play with it on a site I need to deal with.
"Okay so let me get this straight, when we first spoke it was $13k to own it, and now its free? Are you sure about this?" a dear friend and repeat client who runs an agency just asked me.
I get that you want to provide for your family, sooo what are you thinking?
Are we going to offer a "freemeium" model where you get crippleware for free and the useful parts in expensive add-ons?
Are we going to have a different license depending who you are?
Are we going have a donation button or something?
Yes, but it will point to our favorite charity, which can do more good with the cash than us.
So I give up, why do you think destroying your perfectly viable license revenue is going to provide stability and creative freedom?
Here's what I see. The biggest challenge my crew has is bizdev. We're not perfect at everything, but we sure can deliver sweet stuff and we improve every day, execept for sales.
We've only really won good gigs through word of mouth. We've tried just about everything, and without marrying yourself to a particular vertical, it's very difficult to define a meaningful marketing strategy for a web/IT services company that wants to do "cool stuff." From my experience you do your best, and try to cultivate as many life long associates and friends who will recommend you as you go.
As the network slowly grows, things get easier over time, but it doesn't really deliver with security and creative freedom if it ties you to a limited local gossipy scene. (yeah i said it).
So while completely giving away something we have and can charge a lot for, we're actually doing ourselves a practical favor. Sure, we'll be giving up a revenue stream, but we're dropping a expensive business development challenge that we've never been good at or interested in solving. We certainly will still spend some real resources to make Concrete5 known – but a lot of that can be our time instead of cash. Moreover, if what we've been working on all these years is really as good as we think it is, we stand to jump-start a process that would traditionally take much longer. I'm interesting in seeing what a larger open source developer community might contribute to the project from a code standpoint, but I'm hungry for their evangelism about concrete5 to their clients. I don't need (or want) to own every dollar that is made off of concrete5. Why not just get out of the way and respond to opportunities as they arise as thousands of people deliver concrete5 powered solutions to their clients?
That's the practical reason to go "free beer." The real one is better:
Content management is a basic human right.
It costs next to nothing to write your thoughts on a piece of paper and nail it to a door, it should cost about the same to make a basic website without it having to be a blog. If we can do that, we'll win one way or another.