Concrete The Studio

concrete5 – Content management is a human right.

“The cloud” is bad for web hosting.

by Franz

Okay so we routinely hear from people that have setup concrete5 on some cloud based web server and find it slow. My answer is routinely, “Well of course, what would you expect out of something called ‘the cloud’ – speed?”

The cloud makes a lot of sense to me if you have a huge number of small computing tasks. Need to store a load of data? Sure. Want to convert a kaballion images from one format to another? Perfect solution. Even if you’ve got a simple webapp that you want to be able to replicate a million times some morning when you get Dugg – okay, as long as the app is pretty light weight and you design it with this in mind.

Read the rest of this entry »

Bookmark and Share

August 23rd, 2010 at 8:19 am

1 comment

Totally Random Episode 9 – A visit with TOPCON

by Franz

Hey! Andrew again, and I’m going to recap the news.

This Week’s News

How we assign your karma raffle numbers

We have three databases – one for each type of contribution (Promotion, Helping People, and Developing). For each Karma point a user has in a silo they get a number of tickets assigned to their name so we end up with 1,000,000 total tickets. Then to build random numbers from the data points in the TOPCON video.

The Winners, and What They Got

Watch the video to see who won what.

Bookmark and Share

August 9th, 2010 at 1:37 pm

0 comments

Posted in Uncategorized

Wordpress vs. Thesis : concrete5 says “the GPL is stupid”

by Franz

Wow. If you haven’t heard the drama, you should watch this video. In short, a premium theme developer (DYITthemes) which sells a wordpress theme named Thesis does not release it under the GPL license.

Matt Mullenweg, the co-founder and leader of Wordpress is calling him out on it; “when you violate someone’s license it is breaking the law. It’s a definition of breaking the law.”

Chris Pearson says he doesn’t have to release his theme under the GPL “They are not the highest authority node up on the tree that gets to decide everything that happens underneath them.”

You can watch them get all sassy with each other for an hour, if you want. Plenty of people have and some of them are asking for our view on it.

concrete5 is a competitor to Wordpress in ways, and we had to choose a license when we started as well. We specifically did NOT choose the GPL for exactly this reason. Here’s how we see it…

1) Much of this is about distribution. Our understanding of this is pretty simple:

If Thesis is distributed as a stand alone download that /includes/ a copy of Wordpress, then Chris is legally wrong. If you distribute GPL software, everything you add to it has to be GPL compatible. Clear and simple, period.

If Thesis is distributed on its own, I think Chris might have an argument to make. It’s easy to think “hey this does nothing without Wordpress, it is dependent on it, it needs to honor whatever legal requirements Wordpress comes up with” but I don’t think that’s technically true. The GPL is about the copying and distribution of software and it doesn’t really cover this with a tremendous amount of clarity. There’s plenty of examples that would have been a lot more interesting to discuss than what they did in the interview. For example, just because you’ve written software that runs on Linux doesn’t mean it has to be GPL. If you distribute Linux WITH your software as a single solution it does however. How’s that for weird?

Regardless, Chris would have a much better high ground to stand on if Thesis actually worked with different CMS backends – much the way that C# application you wrote for linux could also run on a variety of other operating systems.

2) Matt seems like an awful nice guy, and Pearson comes off like a total douche in this interview. I’ve never met either, I’m sure they’re both awesome, I’m just saying after losing an hour to listening to this crap there’s a pretty clear answer for who I’d like to have a beer with. That’s a tremendous shame because frankly Chris is the underdog here trying to build and maintain a nice small business and Wordpress is the big player trying to squash entrepreneurialism. Regardless, Matt comes off as the hero cause he’s a nice guy and Chris comes off poorly because of the way he makes his arguments. Important lessons there, it’s probably time for us to do a better job stripping drupal references from our customer testimonials. ;)

3) Wow you can tell the difference that some funding makes. Let me just be clear about what I believe to be the real motivators here, please correct me if I’m mis-informed: Wordpress  Automattic has raised over $40m in venture capital. They have over 25 million blogs out there, and fundamentally they are in the content business. They don’t make their real money by selling wordpress, or taking a cut of marketplace add-ons, or offering paid hosting, or any of the stuff we do, they make their money on content. The advertising value on wordpress.com is huge. You have 25 million individuals using your platform to create content, you can monetize that in big ways. That’s why wordpress may be frequently used as a CMS to build some corporate site, but you’ll never see their core team drop features that help my wife (who has an active wordpress blog about DIY sewing), in favor of features that make some corporate extranet easier to run. Matt doesn’t have to worry about making payroll in two weeks, he has to worry about balancing ads and content on Wordpress.com so my wife keeps going there to find other cool sewing blogs she wants to cross link to. Wordpress’s real competitors are Twitter, Facebook, Google – they’re in that big business of re-inventing media. That’s why the GPL makes sense to them. The more wordpress is out there, the better for wordpress, as long as it’s called Wordpress.

Chris on the other hand is selling a Theme that helps turn Wordpress into a application that does something more. Again I’m just guessing here, but it wouldn’t shock me at all to hear Chris’s company is self funded, profitable, and it hasn’t been easy to get there. The idea of having a product that you sell at $50 a pop being distributed for free or even worse sold for $49 somewhere else has to make him physically sick. The carrot of “but people will want you for support” is a pretty grim answer.

I’m not arguing that Matt has an easy life and Chris doesn’t. Certainly the stress of looking Phil Black in the eye and saying “yes your $40m will turn into $800 million, sir” can’t be fun. I’m just saying the two challenges are very different and you can read the distinction in motivation from just the tone of their voices alone.

4) The GPL is stupid, and O’Reilly did us all a tremendous disservice when he came up with “open source”. Yeah I said it, so blah! When I was a developer growing up in the 80’s, we had licenses that actually meant what they said. If you wanted to just give something away, you called it Freeware. If you wanted to save some money on sales but still own your software, you called it Shareware or Crippleware depending on if you offered a fully functional copy with additional features or if you did something like disable save. These labels came from the DIY software world where entrepreneurs could start successful businesses cheap by distributing stuff on BBS’s. (go look up Apogee Games). Meanwhile there were any number of “big” projects that were being distributed under licenses that made sense for schools and huge corporate problems. NASA develops some standard and wants to share it with the world, how do they do that? Several big software vendors see value in a piece of software existing, but not being “owned” by any commercial entity, how do they do that? Everyone wrote their own license and while it was confusing, it worked. Then in the late 90’s the successful technical book publisher O’Reilly came along and dubbed everything I’ve listed as “Open Source” for the benefit of the media which was having a hard time understanding how Linux could compete with Windows. Well that’s cool and all, certainly having concepts that everyone can understand in a word is great, but clearly we aren’t really there. Confusion abounds. People talk about “free beer vs. free speech” all the time, it sounds like a broken record. Any one with half a brain knows that nothing worth having in life is truly free (in cost), yet we also agree that the idea buying a car with the hood welded shut sounds like getting screwed. The goal to provide some clarity across all the different types of licenses that software was released under by calling half “open source” and the other half “commercial” has utterly failed.

5) You say you want freedom? Then the GPL isn’t for you. It is not “freedom” to force people who extend your software to honor ANYTHING you say. I’m not saying it isn’t a good business idea, I imagine it may frequently be a great business idea, but it’s not “freedom” so don’t try to take the moral high ground. You’re limiting people and it doesn’t matter that the perceived motivation of your limit is to enforce further freedom. Freedom doesn’t work that way, but proponents of the GPL seem to think it needs protection. Here’s how we see it:

If you’re for the GPL, you believe freedom is a fragile flower that has to be protected. “This started as free, we’re going to make sure it says free with all our impressive powers.”

If you’re against the GPL, you believe freedom is a force of nature. It may not look that powerful at a glance, but it’s gonna win in the end. It’s like entropy. It exists, it will win. It doesn’t need your help, all it needs is your awareness and faith, and sooner or later it’ll come out on top.

Freedom is the MIT license which to paraphrase in three words says : “Don’t sue us”. If your goal really is to give something away for no cost and have the world be “free” to do whatever it wants with it, that’s all you need. Limit the creators exposure to liability, which would limit their own freedom, and you’ve made it “free.” Of course if you do that you run the risk of someone taking your software packing it up and screwing you over in any number of ways, but no one said freedom was easy.

These issues with the GPL are not new, and it’s sad to see this play out yet again. Frankly I like to think that any legal document’s job is to create clarity, and whatever your view may be, its clear the GPL is pretty gray in spots. In some ways, I hope this does go to court so we can all get a clear answer on how this thing is supposed to work.

Meanwhile if you want to be part of something that is free, and is eager to be free in a simple understandable way, you should be developing stuff for concrete5.

UPDATE : Orrrrr I’m completely wrong.

As more debate continues in IRC and other forums a point has come up that we didn’t address in the original post. Thesis uses wordpress’s theme engine and that includes any number of lines of code that wordpress wrote. Clearly that is their work, covered by their license, and Thesis is a derivative of it. THAT being the case, he very well may be violating the GPL. What gets interesting there is where is the line for that not being derivative? If he just goes through and renames all the functions and variables but it functions the same way, is that new work? What if he changes some logic too, for loops become while loops, etc. Where is the line where something is no longer derivative but a new thing?

What if Thesis makes an abstraction layer from scratch that does nothing but give them some differently named hooks to the same stuff, and then releases THAT abstraction layer LGPL and continues to sell their theme? That sounds legal, annoyingly stupid but legal.

Regardless the fact that everyone’s so confused about this does bring serious questions to the fore on the worth of GPL and what ‘freedom’ means. I hope we find out.

Bookmark and Share

Totally Random Episode 8

by Franz

This Week’s News

Bookmark and Share

July 9th, 2010 at 9:25 am

0 comments

Posted in Uncategorized

Six Revisions

by Franz

We think Six Revisions is an awesome blog with great content, if you don’t read it, you’re missing out.

We’ve been working with them recently to help drive awareness about concrete5, and we’re having them do a fairly sizable giveaway of our stuff now:

concrete5, an open source content management system created for the end-user (e.g. your non-technical clients) teamed up with Six Revisions to give away a one-year Commercial account (worth $300), free set-up, and $155 in credits on their marketplace for themes and add-ons. Read on to see how you can be the lucky winner of this awesome prize.”

View Post >>

Bookmark and Share

June 14th, 2010 at 9:06 am

0 comments

Open Source Tip #27 – Smart comes in silos.

by Franz

Most of what I’ve learned from going open source are just good life lessons I probably could/should have picked up anyway, and this one’s certainly in that camp. I’ve always idolized the renaissance man. I’m a big believer in knowing a little about a lot of things vs. knowing a lot about a little. I respect the need for specialists, but even then I think they tend to be better when they’ve put in the work to stretch their intellect across more than one silo of information. It builds empathy and humility to not always be the expert at what you’re interested in.

Going open source has provided me the opportunity to run into any number of people who are very very bright at one thing, don’t foster that fundamental curiosity about topics they have no expertise in, and yet seem to think their impressive intellect makes their opinion right on all topics regardless. Just because you’re amazing at the 100 yard dash doesn’t mean you know dick all about water polo.

I actually had one person complain about their in-ability to do something in concrete5 with the line “look, I /am/ a rocket scientist at such and such university.. I should be able to XYZ.” Strangely I am not a rocket scientist and I dropped out of college, but I can do XYZ quite easily. Go figure.

I was reminded of this just now when a thread on slashdot came up. Some fellow is chastising Apple for calling their new iPhone screen technology “Retina Display.” Apparently this “marketing drivel” has so offended this guy he feels the need to rant about it on slashdot:

“Again though, why the use of meaningless words? Couldn’t he have just said “the resolution/DPI is so dense that your eyes won’t be able to distinguish individual pixels”? What, does the average Apple customer really seek the need of some special word to wrap up the device’s capabilities in? And if they do, what does that say about their average customer?

I think it’s insulting to the people that buy Apple’s products, regardless of whether people seek it out or not.”

from slashdot.org

Holy crap dude! For real?? Yes. This is what we have language for. You use words and phrases to sum up larger concepts so a conversation can happen at an acceptable pace. Words do create some ambiguity as definitions tend to be subjective, but without some consolidation it’s difficult for anyone to get beyond facts and into useful concepts in a real world situation. I mean clearly this individual is smart enough to understand what a pixel is, how DPI might work, etc… But the basic purpose of language (were not even talking about marketing yet!) seems to not only escape them, but insult them as well.

I take two lessons from this:

1) I am a moron. This one shows up a lot in my life lessons from open source. So far I find the dumber I assume myself to be, the more pleasantly surprised I am when I get something right. If I am hearing about something that others think is awesome and my geek-gland says “that’s stupid marketing drivel,” chances are they’re right and I’m wrong.

2) Just because you’re talking to someone “smart,” doesn’t mean they have a clue what they’re talking about.

Bookmark and Share

June 10th, 2010 at 12:27 pm

0 comments

Open Source Tip #54 – Somebody WILL do it.

by Franz

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.

Bookmark and Share

June 9th, 2010 at 12:49 pm

0 comments

Open Source Tip #46 – Choose your gender carefully.

by Franz

As you may know, we’re jaded old web developers who have had a long history in commercial software and about two years ago decided to “go open source.” Well it has been an adventure, it goes well, and it is one of those things you have to actually live through before you fully “get it.” I’m not sure what we thought we were getting into, and we’re certainly not complaining because it is totally awesome to be loved by 23k people and be powering 50k websites, but we’ve certainly learned some lessons over the last two years.

We decided to start posting some of the more interesting lessons we’ve learned about open source to this blog so others can take advantage of our experiences, or just generally be amused. So to kick off our new post category, I present a life lesson that applies to almost anything: Read the rest of this entry »

Bookmark and Share

June 8th, 2010 at 12:09 pm

2 comments

Totally Random Episode 5 – Burnside Skate Park

by Franz

See whole article on concrete5.org

Bookmark and Share

June 7th, 2010 at 8:08 am

0 comments

Posted in News and Events

An open letter to PHP developers about concrete5

by Franz

(Pulled from here: http://www.concrete5.org/about/our_philosophy/a-letter-to-php-developers/)

Hi,

I’m Franz, I used to be a developer, now I write emails. I was programming logo in first grade, I was running BBS’s in the 80’s, hacking together sites with SSI and PHPv3 in the 90’s. Now I run concrete5.org with Andrew, who grew up hacking IRC and has worked with me for over a decade. We built concrete5 after years of consulting and frustration with other systems.

I know there are thousands of content management systems, and the learning curve for any new system is a beast, so I applaud the fact that you’ve bothered to look for something new and have read this far at all. Let me tell you a few things about where we’re coming from that might help you continue to find the energy to get under the hood of concrete5:

  1. We talk about “path of least resistance” around the office a lot. This means creating elegant solutions to real problems. You can’t get too high-level or you’ve just added a layer of confusion. You can’t get too specific because you’ll end up re-writing it constantly. It’s about finding what the consistent elements of the challenge are and building a solution that addresses them while offering complete flexibility around everything else. Path of least resistance doesn’t mean cutting corners, it means spending the time to understand a problem and create strong tools for building all the types of solutions you’ll need in the future.
  2. Object oriented code is a good means to an end – but it’s not the goal. The goal is having reusable code that someone can understand at a glance. If I had to spend 30 minutes looking for a single line of code that is buried 10 directories deep in a file with nothing else in it, chances are you’ve failed in meeting the goal, even though you’re strictly OOP. That doesn’t mean procedural is good, it just means quality is about thoughtful balance.
  3. Just because you can, doesn’t mean you should. It’s fun to brainstorm but lets not pretend every idea is a good one. I personally am the proud owner of many bad ideas. Every feature added means that much more risk of edge case bugs, so lets debate the value/cost ratio of that feature. Just because we’re “open source” doesn’t mean we’re socialist hippies. Lets also not forget that the first 80% of building something is relatively fun and easy, it’s the last 20% of dialing it in that will kill you.
  4. Less is more. These are websites, not rocket-ships. A page on a website is just a page. While concrete5 certainly has a learning curve and you will need to invest a little energy to get started, you should find the number of concepts you have to grapple with to be far lower than what you’ve grown accustomed to.
  5. From the ground up concrete5 was designed to be a CMS. We built this as our tool box to make picky agency clients happy. It’s not a blog that people use as a CMS. It’s not a news site that had features draped on it until it served no particular market and got dubbed a CMS. It is a well thought-out framework that was designed to let crazy clients manage a great looking website, with next to no training.

If you’re hot under the collar right now because I just made it clear I’m not going to automatically approve your add-on when it doesn’t follow standards, or that I’ve failed to understand that your computer science teacher is a god amongst men – chances are you’re going to find your developer glory elsewhere. If these points resonate with you, keep exploring. You’ll find a nicely thought out system that follows MVC and OOP practices where they add value, and helps you get your job done faster and more effectively in the real world.

Best wishes
Franz Maruna
CEO, Concrete CMS Inc.

Bookmark and Share

June 2nd, 2010 at 10:08 am

1 comment

Totally Random – Episode 2

by Franz

This Week’s News

Bookmark and Share

May 14th, 2010 at 2:49 pm

0 comments

Posted in Uncategorized

Softaculous supports concrete5 now!

by Franz

It’s our clear goal to get concrete5 on every well configured web server on earth. A nice script installing app called Softaculous has just added concrete5 to the stuff they support install for. That’s great news to us and we’re happy to be working directly with Softaculous so hopefully version updates will be smooth sailing for concrete5 fans.
Thanks Softaculous!

Bookmark and Share

May 11th, 2010 at 10:55 am

0 comments

Posted in Uncategorized

new weekly concrete5 video show!

by Franz

Well if you’ve been paying attention to concrete5.org recently you’ve seen some fairly cool new stuff like the Karma system. Now we’re launching a weekly video show “Totally Random” where we share news on concrete5 and interesting things we bump into along the way. Check out our super rough but amusing pilot here:

http://www.concrete5.org/index.php?cID=47961

Bookmark and Share

May 7th, 2010 at 2:56 pm

0 comments

Posted in Uncategorized

Just launched Digital Downloads and a handful of other add-ons/themes

by Franz

Hey gang,

Just a quick note to announce some new add-ons & themes in our marketplace:
eCommerce 1.7.1 – a new version that supports with support for optional checkout parameters, price-affecting customer choices (e.g. size XL adds $3 to base cost) and more currency formatting.

Digital Downloads 1.0 – and add-on for eCommerce that lets you securely offer digital files to your customers after purchase.

RSS Feed Manager – Create and configure rich-text feeds for your site.

Tell a Friend Form – Cross promotion for your site.

Search Tools – A searchable page list interface.

Highslide Web Album – Another cool image gallery

Dojo Storyboard designer – Make a wireframe/cartoon like storyboard

And a bunch of new Themes too:

Splash
Diamond
Silk
Camilo
Creme – includes eCommerce templates!
Instill
Pluralism

Thanks to all our 3rd part developers for helping grow concrete5!

Bookmark and Share

April 7th, 2010 at 8:23 am

0 comments

Posted in Uncategorized

Franz gets interviewed in a nice podcast

by Franz

This was fun!

Got to talk about how and why concrete5 got started, what my own background is, and what makes a startup work. It’s always flattering to be called a “go-getter.” ;)

Here’s the link to the site: http://www.go-getters.ideatewith.com

Also, here’s the iTunes link: http://itunes.apple.com/podcast/go-getters/id337491910

Bookmark and Share

April 5th, 2010 at 11:20 am

1 comment

"));