Talks on API's and C5 Development

Permalink
Hi Folks

I will post this under CHIT-CHAT because it is a topic suited for here. And that is ENTERPRISE DEVELOPMENT and Open Source.

So I have spent a considerable amount of time today speaking with another C5er but in a product development/legal perspective. Devil's Advocate was THICK.

So here goes. When developing blocks or add-on's for C5, where do you stand in creating custom "Widgets" for sale on the marketplace and then having a "dumbed down" version for free? What would stop someone from tweaking that code and repackaging it?

If some unique capabilities were developed and it would better be placed in core folders, compatibility would then become an issue when upgrades to the core files were done?

So another question would be, would it be feasible for there were 2 API's for C5? One for a complete Open Source environment and one for an Enterprise level environment.

These questions are raised by legal beagles and PM's. Valid yes. Doable, I think so. But then what is to say that making the core folders untouchable to facilitate the integrity of the core files? How would the management of core file be facilitating with custom Enterprise level versions compared to OS?

I believe Developers (especially independent ones and those that are tinkering) need to really understand the API's and how they tie into the whole process. This is where developers need to really understand the API and some (not all, that is at the CEO/CTO/Legal/PM level) of the legal issues when dealing with intellectual property and Open Source.

How does Concrete 5 handle these sort of questions? No clue. How would we as users and developers handle it? 1. Decide whether your going to release the code (block, add-on, theme) for free or charge for it. 2. Ask the community. You may find answers way beyond what you thought. But we all learn and hopefully share those new things.

Very interesting questions raised. Franz, I was asked a lot of question. I had to beg off on a lot and say those were Franz questions. So be prepared my friendly pirate.

-Bill

bcarone
 
frz replied on at Permalink Reply
frz
bcarone,

you raise an interesting question and as you're somewhat new around here it's forgivable you don't have a better sense of our views on the subject. (mostly from early posts in our blog:http://concretethestudio.com)

First, let me say "open source" is a bullsh!t construct made by marketing savvy geeks to explain to reporters why they were different. When I was cutting my teeth in the 80's - it was Freeware, Shareware, Crippleware, etc.. while confusing for the rest of the world, those ideas made sense to me when I was downloading an Apogee game or using pkunzip.

All of that got folded into "open source" by some folks like o'reilly, which isn't necessarily a bad thing, but can be very misleading... People will often make these caveats after saying open source:

"Free - as in free choice. Not free beer"

"Free - as in Free Puppy (costs a lot later)"

"Free - as in free to look under your hood, but not free to copy what's there and sell it as a 'Chevrolat'"

on and on..
there are days (many) where I think the confusion around this stuff is worse than the sound bits we get on CNN or grants government is giving to "open source" now...

So with that setting..
Concrete5 is free, as in free beer. Drink up.

We spent years and years being "paid open source".. You pay me to get the code, but then you get the source (not a compiled version) and you're free to do almost anything you want with it.. That was a drag. When we decided we were going to give concrete5 away for nuthin - it was because we knew we were sitting on something that was just miles ahead of everything else out there free or not. We had spent years getting paid a lot of money being experts - and that's not what got us excited about building websites in the 90s. To me the promise was equality. The little guy can compete with IBM now. This is the printing press of the future... Well turned out my career was starting to look like a lawyers - and the little guy couldn't afford to get the quality of work my shop offered. I don't pretend to have the solution here yet, but i know i didn't like the taste. To me CMS is a human right. The web, and your ability to express yourself on it, is a utility - not a luxury. That's what we're trying to do here..

So that is a very long way of saying, absolutely not. I will never do the "enterprise version" thing that so many software companies seem eager to embrace. We even chose the MIT license over the much more common GPL because of this. We wanted you to be so free you could go out and build the next big startup on concrete5 and actually "own" it in every conceivable way.

So now that my views on that are freshly stated...the marketplace..

yes, there are things for sale in the marketplace, and thats a good thing. I don't see that as crippleware, I see that as value-add. If the core serves 80-90% of the average website's needs, its fair to say "hey if you need one of these features that might make you money, like a shopping cart, you should pay some money for it."

Today you can buy our advertising block for $55, and people do - they seem to enjoy it. It's licensed against a single domain, but there's no advanced copy protection scheme going on. It's up to you as a developer to do the right thing and buy it for your next client again. We do this because A) copy protection is a waste of time and distracts us from much needed documentation, and B) how do you get updates?

We have a few more add-ons in the works that will have some minimal cost to them.. calendar, forums, eCommerce, etc..

Yes, we are eager to have other developers involved here (and with themes). The idea is if we put someone else's add-on in the marketplace, we'll take a 25% cut of the revenue from it and the rest is theirs.

The biggest challenges we're facing today with that...
A) testing. We have a beta team that has access to our add-ons - commercial or not - but we're not sure another 3rd party developer would want to surrender their app to the team for testing, multi-lingual translation, all the stuff that the community does do well.

B) license. Since the only stuff for sale in the marketplace today is ours, it's easy for us to license it under our own document. That's not going to work for a 3rd party, but I'm deeply committed to making the owner experience easy with concrete5 - so we cant have every app having its own license. I think we're gonna have to standardize on something like GPL for these add-ons that lets a creator get paid, but standardized protections across usage.

C) quality. this is tangential, but we're redesigning the marketplace with an eye for encouraging developers to contribute, but providing a safe set of well tested stuff for owners to install. The chief complaint I hear about Drupal is the marketplace is full of redundant and often destructive add-ons. Add a weather widget, it breaks your discussion system. We can't let that happen - so there's going to be a tier system, rating system, and most importantly a "recommended" type approach so you know if your only running "recommended" stuff - your site will be safe.

I think that covers most of your questions and concerns, thanks for asking them - i'm always happy to provide the official answers to these policy questions as I have spent an awful lot of sleepless nights over the last 8 months detailing them in my head.
bcarone replied on at Permalink Reply
bcarone
Frz That is exactly what I needed for the person I was talking too today. He will probably try and contact you more about these things.

Having done some pretty damn big HIPAA projects as PM, I completely can understand you comments concerning Buzz Words and snippets media say and cause lots of confusion. As an example, back in the late 90's, I started using some software that was Free..yes they had a pro version...It did everything I wanted it to do. I had our senior techies go through it and secured a meeting with the company since they were in the same town. The CEO gave me 10 copies with licenses just for doing that. We got the word out and their sales increased.

I hate buzz words....especially Web 2.0 standards. What a crock? Well I use to think that but since the w3c is now setting some standards for that, I can breath a little easier. Hackers (non-pros) were driving me crazy with Flames stating that if you don't know Web 2.0, your not a web programmer. It's the same thing as it was (yes there are differences now) 10 years ago but now with newer versions and newer capabilities. Remember SSI's.

Anyway. I agree with your policies stated above and certainly they make a lot of since and will help me with clients explaining the advantages of C5 over some other CMS software. I am hooked.

I'm gonna have send you some Carolina Wine. That pic of you reminds me of my times in the MEDITERRANEAN seeing local sailors getting off their boats :) Do you like Red or White?

-Bill