<?xml version="1.0"?>
		<rss version="2.0">
		  <channel>
			<title>concrete5.org Blog Category: Open Source & Strategy</title>
			<link>http://www.concrete5.org/about/blog/open-source-and-strategy/</link>
			<description></description>
						<item>
			  <title>Performance Improvements in 5.6.1</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/performance-improvements-in-5-6-1/			
			  </link>
			  <description><![CDATA[
			  				<p>It's no secret: concrete5 is a beefy application. We pack in a lot of dynamic features, have a very extendable code base, include large libraries from the Zend Framework and offer powerful permissions and design flexibility. In turn, sometimes site performance suffers, especially on cheaper web hosts.</p>
<p>Unfortunately, somewhere along the line, performance problems started to become more than just a nuisance and threatened to become a <strong>meme</strong>. We had to do something about them.</p><h2>The Past</h2>
<h3>It All Started with Files</h3>
<p>In concrete5 5.2.0, we introduced a completely new file manager. Files were now full-fledged objects with extensible metadata, permissions and sets. Retrieving information about a particular file object was much more expensive (in terms of database queries) than it used to be.</p>
<p>All of a sudden, certain add-ons like galleries – which gathered large amounts of files at once – were quite slow. They had to run hundreds of queries just to render a page.</p>
<h3>Caching to the Rescue</h3>
<p>In web applications, caching typically means retrieving an object from a faster place – be it RAM, or a serialized object in a hard disk – than reconstituting it entirely from the database. This lessens the load on the database and can dramatically improve performance. We added our own custom caching layer, which stored objects in the file system, and this problem went away. We liked this solution so much that we added more objects to this cache.</p>
<h3>Enter Zend Cache</h3>
<p>When we started working on localizing our add-ons (so they could be included in translation) we realized that it would make a lot of sense to use Zend Translate, which is a library contained with the <a href="http://framework.zend.com/">Zend Framework</a>. Zend Translate makes extensive use of Zend Cache. We took a look at Zend Cache, and realized that without a lot of work, we could remove our custom caching layer, replace it with Zend Cache, and automatically get access to different cache backends, like APC, Xcache, memcached and more. It was a no-brainer.</p>
<p>Not entirely. Zend Cache has <a href="http://andrewembler.com/posts/improving-the-performance-of-zend-cache/">always had its share of quirks</a>. The biggest one? The default cache, which stores objects in the filesystem, gets slower and slower the more objects you place in it, due to some garbage collection routines that Zend Cache uses. If you disable garbage collection, the cache is fast, but it fills up with millions of files. This was exacerbated by the fact that, as we added features like extensible attributes, layouts and full page caching, we found ourselves storing more and more objects in that cache.</p>
<p>And the worst part? While we were trying to lessen database access, we just shuttled the problem over to the file system, which now had to deal with thousands of small files on every request. Yes, this problem goes away if you configure an alternate cache backend, but most concrete5 sites don't do that. On web hosts with slow disk I/O this was a killer: hitting a site with no cache entries or out of date cache entries could take a really long time. Oftentimes the next access would be faster, but not always; the filesystem could be a significant bottleneck on shared hosts, and it was clear that caching was hurting as often as it was helping.</p>
<h3>Cache Bigger Objects: Enter 5.6</h3>
<p>We recognized this, so we tried to cache larger and larger objects in fewer and fewer cache entries. The idea was that if we could still use the cache but access it less often we'd get the benefits of the cache without as much of the lookup slowness.</p>
<p>This reached a head in concrete5 5.6.0. Our completely rebuilt permissions system was designed from scratch to be extensible, powerful and able to handle anything. Unfortunately, it requires quite a bit more database access to work with. Rather than cache each permission lookup, we ran all permission lookups every time a page was requested, and cached that in the page object. This worked – but performance was significantly degraded for sites that had caching off. And when I say significantly degraded, I mean <strong>significantly degraded</strong>. I think at one point I benchmarked around 700-800 queries running on a simple page when caching was disabled.</p>
<p>This was where we were in the Fall of 2012: concrete5 was more extensible than ever, but also slower than ever. Sites would fail due to slow disk I/O and the response was either "disable your cache" or "enable your cache." Disabling the cache would bloat the database queries by the hundreds, many of them duplicates. It was clear that caching was causing more problems than it was solving.</p>
<p>At this point, we had several layers of performance mechanisms:</p>
<ol>
<li>The in-memory cache: powered by a simple array, the in-memory cache (aka "CacheLocal", if you're curious) is a way of storing a requested object in memory, so that it wasn't retrieved from the file system if it had already been retrieved once in a given request.</li>
<li>The basic cache: powered by Zend Cache, this was the object-based caching, usually performed by the file system, that I've described above.</li>
<li>Block caching: introduced in 5.4.0, block caching is a powerful way of preserving all that is great about blocks while allowing developers to mark ways that their blocks can be cached, in order to preserve their performance on render.</li>
<li>Full Page caching: also introduced in 5.4.0, full page caching is a way to store the entire contents of a page and render it ideally without accessing the database.</li>
<li>Overrides Caching: introduced in 5.6.0, overrides caching was our way of saving the state of your overridden file system to a Config variable, so that we don't have to do as many file_exists() checks throughout our code.</li>
</ol>
<p>While these were all noble attempts at solving the performance problems of a complex and flexible application, they were <strong>almost all failing</strong>:</p>
<p>#2 failed because too many items were being placed in the cache, the file system is slow on many web hosts, the item still has to be requested from the database and then written to the file system, and it just wasn't much faster to request from the file system than it was to get out of the database. Furthermore, by forcing more data to be written into the cache in order to create fewer entries, we actually did many more database queries to make #2 viable than we normally did. This killed performance especially when cache was disabled.</p>
<p>#3 was great in theory, but it used #2 as its backend, which meant all the problems that plagued #2 filtered down to #3. This was the same problem with #4 – but in addition #4 suffered from firing far too late in the loading process. Practically, #4 never ran without still connecting to the database, which rendered its benefits minimal. Finally, #5 was a good idea in theory, but still required a database connection, and was confusing, because it couldn't be cleared by deleting files/cache/ directory in the filesystem – its data was stored in a different way.</p>
<h2>The Present: 5.6.1</h2>
<p>It's no secret: <a href="http://www.concrete5.org/about/blog/open-source-and-strategy/5-7-roadmap/">we have great plans for concrete5 5.7.0</a>. But these plans are somewhat contingent on concrete5 running everywhere, and running everywhere<em>well</em>. We need to work well on good servers, and work acceptably on even the slowest ones. We simply cannot afford and will not accept performance continuing to be such a problem.</p>
<p>So I set out to fix it. To do this, I decided to look at what worked, and throw out what didn't. The override cache worked and was a good idea, but storing its information in the database to get around the slowness of the cache was stupid. Full page caching was a great idea, and the options that triggered it were sensible. But relying on Zend Cache and firing late in the loading process? This was a bad idea. We had tried to make it so that controller actions and certain interactive items could still be used with full page caching. While this was neat in theory, it made full page caching much less effective, and – most importantly – just plain slower.</p>
<p>Block caching is a great idea. It occurred to me if we had had block output caching first, when the gallery problems had cropped up with the file block, we may never have implemented anything else.</p>
<p>What didn't work? The one-size-fits-all cache, using Zend Cache as a backend. At best, it still added uncertainty to concrete5 ("Something not working right? Clear the cache, I guess."). At worst, it degraded performance on first run and, for many sites, in perpetuity.</p>
<p>Let's be clear: Zend Cache is a fine piece of software. We will still continue to support its usage in our API and actively use it when interactive with Zend Framework components that use it (like Zend Translate). But shoving every object in there because we make too many database queries? That's like applying a bandaid to a cut with a pair of scissors.</p>
<h3>What's New</h3>
<p>You can currently <a href="http://www.concrete5.org/download">download a beta version of concrete5 5.6.1</a> to see these changes in action. I would encourage you to do so, and to take it for a test drive on any web host. The cheaper the host the better.</p>
<p>What's been done? A lot.</p>
<ol>
<li>
<p>We don't use the Cache anymore. It's still there and used for Zend Framework libraries, but rarely accessed anymore. I think the information about the dashboard picture of the day might use it – but that's it.</p>
</li>
<li>
<p>We do use the in-memory cache. A lot. This is CacheLocal. The first time in a given request that a page, file, permissions record or other objects are requested, they are added to the local cache, and then subsequent requests for these items are retrieved from an array. This dramatically reduces database queries without incurring any disk I/O problems. Yes, you do occasionally run into odd cache-related bugs, and it could cause some problems for hosts with very restrictive memory settings, but these should both be rare, since CacheLocal doesn't persist across subsequent requests.</p>
</li>
<li>
<p>We do use block-level caching, for records and output, but we store this information in the database. We're already requesting data from these database tables, so adding another column to the mix and displaying its contents is trivial (and much faster than looking in the file system for Zend Cache entries.) All the same block caching settings that were valid pre-5.6.1 are still honored. The best part about block-level caching: we save block output and information when a block is saved, which means the data is already there for subsequent requests, leading to much less slowness on initial request for a given page.</p>
</li>
<li>
<p>We do use the Environment cache, but it's stored as a serialized object in files/cache/environment.cache. Clearing the cache will remove this file, as well as just deleting files/cache/ yourself.</p>
</li>
<li>
<p>We have updated our CSS cache to store files in files/cache/css/. This is used whenever a theme uses customizable stylesheets. Files are generated and referenced directly without going through concrete5.</p>
</li>
<li>
<p>We have completely rewritten the full page caching library. Full Page caching is completely modular and extensible. It fires very early in the request. If a site enables full page caching, and the pages are in the cache, a site can completely lose its database connection and it will still render as though nothing is wrong.</p>
</li>
<li>
<p>We have optimized and removed unnecessary queries. So many queries were structured in certain ways to appease the mighty Gods of cached objects, that when this was no longer a concern they can be rewritten. Page and File custom attributes are an example of this: we used to retrieve all attributes about a particular file or page when that object was retrieved, in order to cache as much in the object as possible. Now we only retrieve this information on demand.</p>
</li>
</ol>
<p>The results speak for themselves. concrete5 5.6.1 is much more responsive on many web hosts. Yes, it still makes robust use of a database (non-logged-in users will see around 50-70 database queries rendering a standard starting point page that's not cached in the full page cache) but this is a massive decrease from 5.6.0.2. And its all being done without the cache adding extra disk I/O.</p>
<h2>The Future</h2>
<p>We are still actively exploring how we might speed up some core block types like Auto-Nav and the PageList class. This may require some creative, not-necessarily-object-oriented problem solving, but we're up to the challenge, armed with some of the lessons we've learned.</p>
<h3>One Size Doesn't Fit All</h3>
<p>The features we'd added for the sake of performance weren't all hindrances – but their impact was lessened because we tried to funnel them all through the same approach (a file-based cache.) Now, although we have some slightly more idiosyncratic approaches to solving these problems, the results are much, much better.</p>
<h3>Keep the Good – Ditch the Bad</h3>
<p>We've never been afraid to rebuild something in a better way.</p>
<h3>Remember the Problem You're Trying to Solve</h3>
<p>We should have realized we had a problem the moment we started trying to fix the cache. The cache isn't a feature of the software: the cache is means to an end (faster software!) Focusing on actually reducing database usage throughout the application in sensible ways – rather than adding them and shuttling them into a cache once they've run – is going to serve us far better.</p>
<p>Let us know what you think.</p>
<p>(Reposted from <a href="http://andrewembler.com/posts/performance-improvements-concrete5-561/">Andy's Blog</a>)</p>			  ]]></description>
			  			  <pubDate>Sun, 20 Jan 2013 22:57:00 EST</pubDate>
			</item>
					<item>
			  <title>5.7 roadmap</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/5-7-roadmap/			
			  </link>
			  <description><![CDATA[
			  				<p>A sneak peak into the goals and vision for the next major release of concrete5.....</p>			  ]]></description>
			  			  <pubDate>Thu, 10 Jan 2013 17:52:00 EST</pubDate>
			</item>
					<item>
			  <title>Well known brands that love concrete5 - fess up!</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/well-known-brands-that-love-concrete5-fess-up/			
			  </link>
			  <description><![CDATA[
			  				<div>
<p>Did you know that a major 4g wireless provider uses concrete5 across their web presence, which serves 66m+ pageviews a month?</p>
<p>How about the largest publisher and distributor of children’s books in the world? </p>
<p>The UK division of a well known american car company? </p>
</div>			  ]]></description>
			  			  <pubDate>Tue, 24 Jul 2012 13:31:00 EDT</pubDate>
			</item>
					<item>
			  <title>Announcing the upcoming release of 5.6!!!</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/announcing-the-upcoming-release-of-5-6/			
			  </link>
			  <description><![CDATA[
			  				<p>If you're not a regular viewer of <a title="Totally Random Web Show" href="/about/blog/totally-random-web-show/">Totally Random</a> you may have missed the <a title="Totally Random 6/22/2012" href="/about/blog/totally-random-web-show/totally-random-returns-join-us-friday-6-22/">complete overhaul of the Advanced Permissions system</a> we've been working on in the next version of concrete5. We're getting ready to unleash it onto the world, and we wanted to take a moment to share our schedule with you. </p>			  ]]></description>
			  			  <pubDate>Tue, 17 Jul 2012 18:26:00 EDT</pubDate>
			</item>
					<item>
			  <title>Authentication Framework</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/authentication-framework/			
			  </link>
			  <description><![CDATA[
			  				<p>While concrete5 can support multiple authentication methods, and has built-in support for OpenID (in addition to the core concrete5 authentication method), there&rsquo;s no framework for building these authentication methods, making their settings available to administrators in the dashboard, grouping them on a login page or managing which authentication methods are available or how they are displayed. The Authentication Framework will change that.</p>			  ]]></description>
			  			  <pubDate>Mon, 18 Jul 2011 17:35:00 EDT</pubDate>
			</item>
					<item>
			  <title>Announcing community elections!</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/announcing-community-elections/			
			  </link>
			  <description><![CDATA[
			  				<p>As concrete5 continues to grow, our organization and roles are changing. When we started, it was just a couple of guys in their basement and a half a dozen sites using the software. Today there are 65,161 users on concrete5.org. More than 130,000 unique sites that have hit our servers for update information. 65,448 sites have connected to concrete5.org and made project pages.&nbsp;</p>			  ]]></description>
			  			  <pubDate>Wed, 06 Jul 2011 14:35:00 EDT</pubDate>
			</item>
					<item>
			  <title>Wordpress vs. Thesis : concrete5 says “the GPL is stupid”</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/wordpress-vs-thesis-concrete5-says-the-gpl-is-stupid/			
			  </link>
			  <description><![CDATA[
			  				<p>Wow. If you haven&rsquo;t heard the drama, you should watch&nbsp;<a href="http://mixergy.com/chris-pearson-matt-mullenweg/">this video</a>. In short, a premium theme developer (DYITthemes) which sells a wordpress theme named Thesis does not release it under the GPL license.</p>
<p>Matt Mullenweg, the co-founder and leader of Wordpress is calling him out on it; &ldquo;when you violate someone&rsquo;s license it is breaking the law. It&rsquo;s a definition of breaking the law.&rdquo;</p>
<p>Chris Pearson says he doesn&rsquo;t have to release his theme under the GPL &ldquo;They are not the highest authority node up on the tree that gets to decide everything that happens underneath them.&rdquo;</p>
<p><a href="http://mixergy.com/chris-pearson-matt-mullenweg/">You can watch them get all sassy</a>&nbsp;with each other for an hour, if you want. Plenty of people have and some of them are asking for our view on it.</p>
<p>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&rsquo;s how we see it&hellip;</p>
<p>1) Much of this is about distribution. Our understanding of this is pretty simple:</p>
<p>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.</p>
<p>If Thesis is distributed on its own, I think Chris might have an&nbsp;argument&nbsp;to make. It&rsquo;s easy to think &ldquo;hey this does nothing without Wordpress, it is dependent on it, it needs to honor whatever legal requirements Wordpress comes up with&rdquo; but I don&rsquo;t think that&rsquo;s technically true. The GPL is about the copying and distribution of software and it doesn&rsquo;t really cover this with a tremendous amount of clarity. There&rsquo;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&rsquo;ve written software that runs on Linux doesn&rsquo;t mean it has to be GPL. If you distribute Linux WITH your software as a single solution it does however. How&rsquo;s that for weird?</p>
<p>Regardless, Chris would have a much better high ground to stand on if Thesis actually worked with different CMS backends &ndash; much the way that C# application you wrote for linux could also run on a variety of other operating systems.</p>
<p>2) Matt seems like an awful nice guy, and Pearson comes off like a total douche in this interview. I&rsquo;ve never met either, I&rsquo;m sure they&rsquo;re both awesome, I&rsquo;m just saying after losing an hour to listening to this crap there&rsquo;s a pretty clear answer for who I&rsquo;d like to have a beer with. That&rsquo;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&nbsp;entrepreneurialism. Regardless, Matt comes off as the hero cause he&rsquo;s a nice guy and Chris comes off poorly because of the way he makes his&nbsp;arguments. Important lessons there, it&rsquo;s probably time for us to do a better job stripping drupal references from our customer testimonials.&nbsp;<img class="wp-smiley" src="http://concretethestudio.com/wp-includes/images/smilies/icon_wink.gif" alt=";)" /></p>
<p>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&rsquo;m mis-informed:&nbsp;<del datetime="2010-07-17T04:45:23+00:00">Wordpress&nbsp;</del>&nbsp;Automattic has raised over $40m in venture capital. They have over 25 million blogs out there, and&nbsp;fundamentally&nbsp;they are in the content business. They don&rsquo;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&nbsp;monetize&nbsp;that in big ways. That&rsquo;s why wordpress may be frequently used as a CMS to build some corporate site, but you&rsquo;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&rsquo;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&rsquo;s real competitors are Twitter, Facebook, Google &ndash; they&rsquo;re in that big business of re-inventing media. That&rsquo;s why the GPL makes sense to them. The more wordpress is out there, the better for wordpress, as long as it&rsquo;s called Wordpress.</p>
<p>Chris on the other hand is selling a Theme that helps turn Wordpress into a application that does something more. Again I&rsquo;m just guessing here, but it wouldn&rsquo;t shock me at all to hear Chris&rsquo;s company is self funded, profitable, and it hasn&rsquo;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 &ldquo;but people will want you for support&rdquo; is a pretty grim answer.</p>
<p>I&rsquo;m not arguing that Matt has an easy life and Chris doesn&rsquo;t. Certainly the stress of looking Phil Black in the eye and saying &ldquo;yes your $40m will turn into $800 million, sir&rdquo; can&rsquo;t be fun. I&rsquo;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.</p>
<p>4) The GPL is stupid, and O&rsquo;Reilly did us all a&nbsp;tremendous&nbsp;disservice when he came up with &ldquo;open source&rdquo;. Yeah I said it, so blah! When I was a developer growing up in the 80&rsquo;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&rsquo;s. (go look up Apogee Games). Meanwhile there were any number of &ldquo;big&rdquo; 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 &ldquo;owned&rdquo; 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&rsquo;s the successful technical book publisher O&rsquo;Reilly came along and dubbed everything I&rsquo;ve listed as &ldquo;Open Source&rdquo; for the benefit of the media which was having a hard time understanding how Linux could compete with Windows. Well that&rsquo;s cool and all, certainly having concepts that everyone can understand in a word is great, but clearly we aren&rsquo;t really there. Confusion abounds. People talk about &ldquo;free beer vs. free speech&rdquo; 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 &ldquo;open source&rdquo; and the other half &ldquo;commercial&rdquo; has utterly failed.</p>
<p>5) You say you want freedom? Then the GPL isn&rsquo;t for you. It is not &ldquo;freedom&rdquo; to force people who extend your software to honor ANYTHING you say. I&rsquo;m not saying it isn&rsquo;t a good business idea, I imagine it may frequently be a great business idea, but it&rsquo;s not &ldquo;freedom&rdquo; so don&rsquo;t try to take the moral high ground. You&rsquo;re limiting people and it doesn&rsquo;t matter that the perceived motivation of your limit is to enforce further freedom. Freedom doesn&rsquo;t work that way, but proponents of the GPL seem to think it needs protection. Here&rsquo;s how we see it:</p>
<p>If you&rsquo;re for the GPL, you believe freedom is a fragile flower that has to be protected. &ldquo;This started as free, we&rsquo;re going to make sure it says free with all our impressive powers.&rdquo;</p>
<p>If you&rsquo;re against the GPL, you believe freedom is a force of nature. It may not look that powerful at a glance, but it&rsquo;s gonna win in the end. It&rsquo;s like entropy. It exists, it will win. It doesn&rsquo;t need your help, all it needs is your awareness and faith, and sooner or later it&rsquo;ll come out on top.</p>
<p>Freedom is the MIT license which to paraphrase in three words says : &ldquo;Don&rsquo;t sue us&rdquo;. If your goal really is to give something away for no cost and have the world be &ldquo;free&rdquo; to do whatever it wants with it, that&rsquo;s all you need. Limit the creators exposure to liability, which would limit their own freedom, and you&rsquo;ve made it &ldquo;free.&rdquo; 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.</p>
<p>These issues with the GPL are not new, and it&rsquo;s sad to see this play out yet again. Frankly I like to think that any legal document&rsquo;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.</p>
<p>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&nbsp;<a href="http://concrete5.org/">concrete5</a>.</p>
<p>UPDATE : Orrrrr I&rsquo;m completely wrong.</p>
<p>As more debate continues in IRC and other forums a point has come up that we didn&rsquo;t address in the original post. Thesis uses wordpress&rsquo;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&nbsp;derivative&nbsp;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&nbsp;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&nbsp;derivative&nbsp;but a new thing?</p>
<p>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.</p>
<p>Regardless the fact that everyone&rsquo;s so confused about this does bring serious questions to the fore on the worth of GPL and what &lsquo;freedom&rsquo; means. I hope we find out.</p>			  ]]></description>
			  			  <pubDate>Fri, 16 Jul 2010 19:15:00 EDT</pubDate>
			</item>
					<item>
			  <title>Open Source Tip #27 – Smart comes in silos.</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/open-source-tip-27-smart-comes-in-silos/			
			  </link>
			  <description><![CDATA[
			  				<h3><span style="color: #ffffff; font-weight: normal; font-size: 13px; line-height: 17px;">Most of what I&rsquo;ve learned from going open source are just good life lessons I probably could/should have picked up anyway, and this one&rsquo;s certainly in that camp. I&rsquo;ve always idolized the renaissance man. I&rsquo;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&rsquo;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&rsquo;re interested in.</span></h3>
<p>Going open source has provided me the opportunity to run into any number of people who are very very bright at one thing, don&rsquo;t foster that fundamental curiosity about topics they have no&nbsp;expertise&nbsp;in, and yet seem to think their impressive intellect makes their opinion right on all topics regardless. Just because you&rsquo;re amazing at the 100 yard dash doesn&rsquo;t mean you know dick all about water polo.</p>
<p>I actually had one person complain about their in-ability to do something in concrete5 with the line &ldquo;look, I /am/ a rocket scientist at such and such university.. I should be able to XYZ.&rdquo;&nbsp;Strangely I am not a rocket scientist and I dropped out of college, but I can do XYZ quite easily. Go figure.</p>
<p>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 &ldquo;Retina Display.&rdquo; Apparently this &ldquo;marketing drivel&rdquo;&nbsp;has so offended this guy he feels the need to rant about it on slashdot:</p>
<blockquote>
<p>&ldquo;Again though, why the use of meaningless words? Couldn&rsquo;t he have just said &ldquo;the resolution/DPI is so dense that your eyes won&rsquo;t be able to distinguish individual pixels&rdquo;? What, does the average Apple customer really seek the need of some special word to wrap up the device&rsquo;s capabilities in? And if they do, what does that say about their average customer?</p>
<p>I think it&rsquo;s insulting to the people that buy Apple&rsquo;s products, regardless of whether people seek it out or not.&rdquo;</p>
</blockquote>
<blockquote>
<p><a title="slashdot" href="http://apple.slashdot.org/comments.pl?sid=1682058&amp;cid=32526256">from slashdot.org</a></p>
</blockquote>
<p>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&rsquo;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&hellip; But the basic purpose of language (were not even talking about marketing yet!) seems to not only escape them, but insult them as well.</p>
<p>I take two lessons from this:</p>
<p>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 &ldquo;that&rsquo;s stupid marketing drivel,&rdquo; chances are they&rsquo;re right and I&rsquo;m wrong.</p>
<p>2) Just because you&rsquo;re talking to someone &ldquo;smart,&rdquo; doesn&rsquo;t mean they have a clue what they&rsquo;re talking about.</p>			  ]]></description>
			  			  <pubDate>Thu, 10 Jun 2010 19:07:00 EDT</pubDate>
			</item>
					<item>
			  <title>Open Source Tip #54 – Somebody WILL do it.</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/open-source-tip-54-somebody-will-do-it/			
			  </link>
			  <description><![CDATA[
			  				<p>When we were commercial software things we&rsquo;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&rsquo;t really worry too much about keeping everyone on the latest version of the platform, and subsequently we didn&rsquo;t have to spend a lot of time worried about backwards compatibility.</p>
<p>We also didn&rsquo;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&rsquo;d simply have to guess at vulnerabilities instead of being able to scour code for them first.</p>
<p>Now things have changed. Every feature idea we have is more and more tempered by &ldquo;what will this do to existing sites or old versions.&rdquo; We&rsquo;ve learned about (and quickly addressed) any number of vulnerabilities that some guy in his basement found for free &ndash; when paid consultants had found none for five years before. You quickly learn that even the most well intentioned work can cause havoc.</p>
<p>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 &ldquo;fixed&rdquo; it as part of some other version changes. Weeks later, people started complaining that their sites we&rsquo;re missing pages. After some frustration we realized &ldquo;duh&rdquo; of course people had built sites that worked around the way the blocks behaved in the past and the simple &ldquo;fix&rdquo; to the Page List block actually&nbsp;<em>broke</em>&nbsp;their sites.</p>
<p>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.&nbsp;The temptation to &ldquo;fix&rdquo; something that could have been better implemented in the first place is very strong. Learning to first resist and then very delicately architect not&nbsp;necessarily&nbsp;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.</p>			  ]]></description>
			  			  <pubDate>Wed, 09 Jun 2010 13:07:00 EDT</pubDate>
			</item>
					<item>
			  <title>What is crippleware? Why aren’t all add-ons free?</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/what-is-crippleware-why-arent-all-add-ons-free/			
			  </link>
			  <description><![CDATA[
			  				<p>Okay, we&rsquo;ve been through this enough times that it deserves a clear position from the CEO&hellip;.</p>
<p>concrete5 core is free and open source. When we say free, we mean &ldquo;free beer.&rdquo; 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.</p>
<p>However, not every add-on in our marketplace is free. All of them are open source &ndash; meaning once you buy it you are &ldquo;free&rdquo; to do what you want to it for that site, and you can get &ldquo;under the hood&rdquo; completely.</p>
<p><strong>Why do we do this?</strong><br />A lot of time and money has gone into concrete5. Anyone who doesn&rsquo;t think we&rsquo;re generous has vastly underestimated the amount of energy that goes into making a powerful CMS that makes sense and doesn&rsquo;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.</p>
<p>A huge part (IMHO &ndash; most) of what makes&nbsp;<a title="open source CMS" href="http://concrete5.org/">concrete5</a>&nbsp;so compelling over other projects like&nbsp;<a title="another cms" href="http://drupal.org/">Drupal</a>&nbsp;and&nbsp;<a title="cms" href="http://joomla.org/">Joomla</a>is the fact that it does take the risk of saying &ldquo;this is the right solution&rdquo; to many problems. No, we don&rsquo;t believe you really need 300 results for &ldquo;permissions&rdquo; when searching for add-ons to a project. How about manning up and just getting the core solution right? That&rsquo;s our philosophy. We don&rsquo;t always hit the mark because we&rsquo;re human, but we&rsquo;ve done pretty well so far, and that&rsquo;s the goal for the future as well.</p>
<p>Same deal with the marketplace. Other projects seem to have a pretty low barrier of entry for add-ons. I&rsquo;m not entirely sure if there even is any barrier, but if it exists, surely the question is &ldquo;does this add-on work with a clean install of our app? Didn&rsquo;t break? Okay give them a project area &ndash; goooo Open Source!&rdquo; 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&rsquo;s business model. This is unacceptable to us.</p>
<p>At&nbsp;<a title="the best cms ever" href="http://concrete5.org/">concrete5.org</a>&nbsp;you will only find things that work. If they don&rsquo;t work, we&rsquo;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 &ldquo;does it work on an install with EVERYTHING added?&rdquo; This is a huge challenge, but we think it&rsquo;s going to be critical to the success of our project in the big picture.</p>
<p><strong>How do we decide what is in core?</strong><br />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:</p>
<ul>
<li>A My Profile section that various add-ons like forums or ecommerce would depend on.</li>
<li>An advanced file system that all add-ons can use.</li>
<li>A better way to create shared central blocks.</li>
</ul>
<p>The reality is that with other projects like Drupal, once you&rsquo;ve installed one modification to the way core permissions work you&rsquo;ve effectively rendered their massive marketplace to you. How can the huge community really even help when everyone&rsquo;s configuration is a unique one off? We&rsquo;re going to do everything we can to keep this project from splintering into core pieces that don&rsquo;t work with one another and render all subsequent add-ons a crap shoot.</p>
<p>Anything that we think is a basic building block to 80% of the websites out there in the world, we&rsquo;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&rsquo;re not asking &ldquo;would everyone benefit&rdquo; &ndash; because who doesn&rsquo;t want free stuff, but rather &ldquo;do you /need/ this to get your point across with the software.&rdquo; Some examples:</p>
<ul>
<li>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.</li>
<li>You can assign a date to any page in concrete5, so it&rsquo;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.</li>
</ul>
<p><strong>How do we price things?</strong><br />We make it up. We don&rsquo;t frankly care how long it took us to write it, we don&rsquo;t care how much the competition sells it for, we&rsquo;re guessing how much you&rsquo;re willing to pay to have it &ldquo;just work.&rdquo; No lie. This is business 101.</p>
<p><strong>But wait, what about the&nbsp;<em>Community</em>??!?</strong><br />Here&rsquo;s some promises to our community we&rsquo;ve always kept and always will:</p>
<ul>
<li>Your stuff can go in our marketplace. We don&rsquo;t care if you&rsquo;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&rsquo;t think it&rsquo;s malware, we&rsquo;ll stick it in the marketplace. I can&rsquo;t promise you we&rsquo;ll feature it above our own in every interface view, but we&rsquo;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.</li>
<li>We will help you sell your own stuff. Software is about support as much as creation. If you&rsquo;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&rsquo;re gonna make a lot of dreams come true with this awesome marketplace. If you&rsquo;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&rsquo;d like to sell something you&rsquo;ve built in our marketplace, all we ask is 25% cut of the price. This is less than Apple&rsquo;s iPhone App store and from what I can tell comperable to<a title="DNN" href="http://www.dotnetnuke.com/">Dot Net Nuke</a>&rsquo;s system if not better.</li>
<li>This stuff is not going to be super expensive. I&rsquo;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&rsquo;s needs. This isn&rsquo;t the model here. The highest price we&rsquo;ve even debated setting a product at so far is $255. That&rsquo;s what most targeted consumer software is priced at today. There&rsquo;s no five figure recurring yearly license fees here.</li>
</ul>
<p><strong>What does this mean for the project?</strong><br />It means a lot of great stuff. It means we&rsquo;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&rsquo;ll be able to do it with a smile on your face and try stuff out without fear.</p>
<p>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&rsquo;s and early 90&rsquo;s when we were cutting our teeth in the BBS scene, and this idea honors them all quite well.</p>
<p>If you&rsquo;re still not sold, ponder this:<br />THE MAN is actually just A Man.</p>
<p>Thanks for making it though this rant, hope you agree &ndash; I&rsquo;m sure you all won&rsquo;t. If you don&rsquo;t I&rsquo;m all ears on constructive suggestions. If the reply is &ldquo;it should be free because I want it to be, and it&rsquo;s not my problem how you or the project succeeed in the big picture&hellip;&rdquo;&hellip; the door is that-a way. &lt;grin&gt;</p>			  ]]></description>
			  			  <pubDate>Sun, 03 May 2009 19:47:00 EDT</pubDate>
			</item>
					<item>
			  <title>concrete5 to show in Tokyo!</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/concrete5-to-show-in-tokyo/			
			  </link>
			  <description><![CDATA[
			  				<h3><span style="color: #ffffff; font-weight: normal; font-size: 13px; line-height: 17px;">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&hellip;. here ya go!</span></h3>
<p>Usagi Project will attend Tokyo OSC with concrete5 Japanese version.</p>
<p>Tokyo Open Source Conference 2009/Spring<br />Japan Electronics College Building No.7<br />1-25-4 Hyakunin-cho<br />Shinjuky, Tokyo, 169-8522<br />Japan</p>
<p>東京オープンソースコンファレンス2009/Spring<br />日本電子専門学校 7号館<br />東京都新宿区百人町1-25-4</p>
<p>RSVP the seminar at<br /><a href="http://www.ospn.jp/osc2009-spring/modules/eguide/event.php?eid=76" target="_blank">http://www.ospn.jp/osc2009-spring/modules/eguide/event.php?eid=76</a></p>
<p>Also you can just show up at our demo booth during the event.<br />&mdash;&mdash;&mdash;-<br />Feb 20 (Fri) 10:00am -5:30pm<br />Feb 21 (Sat) 10:00am -4:30pm</p>
<p>Date &amp; time for first meeting<br />Feb 20 (Fri) &ndash; 21 (Sat) (Seminar starts on Feb 21 11am)</p>			  ]]></description>
			  			  <pubDate>Thu, 19 Feb 2009 18:32:00 EST</pubDate>
			</item>
					<item>
			  <title>c5 strategy</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/c5-strategy/			
			  </link>
			  <description><![CDATA[
			  				<p>We&rsquo;ve gone a little dark new builds of c5 since osCon because we&rsquo;ve been fully dedicated to this rebuild of SchoolPulse.com. We&rsquo;re making it all out of c5 and it&rsquo;s gonna be sexy, easy to use, and provide a lot of great blocks back to the project. It&rsquo;s consumed every waking hour from everyone I know for the last two weeks and weekends. It&rsquo;s launching next week.</p>
<p>In the meantime, here&rsquo;s an email thread I had recently with a new c5 fan where I lay down some of the ideas and plans we&rsquo;ve been putting together as we watch our baby take off here:</p>
<p><span id="more-90">&nbsp;</span></p>
<p><span>&gt; General feedback was submitted to ConcreteCMS.com. Here is the information.<br />&gt;<br />&gt; Name: Dennis<br />&gt; &lt;stripped&gt;<br />&gt;<br />&gt; congrats on your CMS! we are impressed and actually thinking about using it for our clients.<br />&gt;<br />&gt; 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.<br />&gt;<br />&gt; 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?<br />&gt;<br />&gt; let&rsquo;s say a blog &ndash; writing an article, getting comments (display upon approval), etc &ndash; is something like this already developed? if not how much would it be &ndash; just an estimate as the specs are a bit vague obviously?<br />&gt;<br />&gt; and last but not least, would you feature us on your page as design partner if we return the favor?<br />&gt;<a href="http://www.digitalgarden.com.au/"><img class="alignright alignnone size-full wp-image-91" title="digitalgarden" src="http://concretethestudio.com/wp-content/uploads/2008/08/digitalgarden.jpg" alt="" width="200" height="128" /></a><br />&gt; that&rsquo;s it for now from my side.<br />&gt; looking forward to hearing from you.<br />&gt;<br />&gt; cheers<br />&gt; dennis<br />&gt;&nbsp;<a title="www.digitalgarden.com.au" href="http://www.digitalgarden.com.au/" target="_blank">www.digitalgarden.com.au</a><br />&gt;</span></p>
<p>Hey Dennis,</p>
<p>It&rsquo;s nice to hear from more folk as excited about c5 as we are. Thanks!</p>
<p>In short &ndash; yes.</p>
<p>In detail:<br />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&rsquo;s our belief that most website development challenges can be solved with a dozen or two well architected blocks, and that&rsquo;s what we&rsquo;ll be shooting for as we continue to get to the &ldquo;perfect core&rdquo; in 2008.</p>
<p>2) We do have a guestbook and blog structure in a previous version of concrete that we&rsquo;ll be migrating as part of that &ldquo;core tools&rdquo; library, I&rsquo;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&rsquo;t quite as elegant as the rest of c5.)&hellip; all sorts of more useful goodies..</p>
<p>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&rsquo;ll be able to do it there easily. We&rsquo;ll also have a job board and something similar to etsy.com&rsquo;s alchemy where you can request or pledge for developments to c5 that other developers could build for. We&rsquo;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.</p>
<p>4) There will also be a hosting site. It won&rsquo;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.</p>
<p>5) I would love to feature your email and this reply on our blog at&nbsp;<a title="Concrete5" href="http://concretethestudio.com/">concreteTheStudio.com</a>&nbsp;if that&rsquo;s amenable to you. Show me some sites built out of c5 and we&rsquo;ll talk about the Support page of concrete5.org, if you&rsquo;re interested in that as well.</p>
<p>if you&rsquo;re ever in pdx, beers on me.</p>
<p>thx again<br />-frz<br />ps: i love your site. nicely done.</p>			  ]]></description>
			  			  <pubDate>Fri, 15 Aug 2008 18:14:00 EDT</pubDate>
			</item>
					<item>
			  <title>opensourcecms.com delivers mad traffic!</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/opensourcecms-com-delivers-mad-traffic/			
			  </link>
			  <description><![CDATA[
			  				<p>Well no one on our end posted to you, because you&rsquo;re quite clear that Beta projects shouldn&rsquo;t be posted in your rules&hellip; and yes.. we read rules.. sometimes.</p>
<p>However, someone from your end must of been at osCon because we appeared on your site a few days ago. Here&rsquo;s a snapshot of our google analytics for the last month:</p>
<p><img class="alignnone size-medium wp-image-89" title="visitorspike" src="http://concretethestudio.com/wp-content/uploads/2008/07/visitorspike.jpg" alt="climbing the mountain..." width="364" /></p>
<p>Gotta say, we were gonna wait till we had a release we were calling final before posting to you,<a href="http://opensourcecms.com/index.php?option=com_content&amp;task=view&amp;id=2327&amp;Itemid=1" target="_blank">OpenSourceCMS.com</a>. The fact that we just magically showed up is great! We&rsquo;ll just take that as a pat on the back that what we consider Beta is pretty damn stable, and we&rsquo;d like to say thanks.</p>
<p>(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&rsquo;t work so we got some low votes that are messing up our average.)</p>			  ]]></description>
			  			  <pubDate>Wed, 30 Jul 2008 18:10:00 EDT</pubDate>
			</item>
					<item>
			  <title>OSCON, Redux</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/oscon-redux/			
			  </link>
			  <description><![CDATA[
			  				<p>So we&rsquo;re all home relaxing after two grueling days at OSCON. Maybe &ldquo;grueling&rdquo; 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 &ldquo;PHP-based content management system&rdquo; becomes kind of a tongue-twister after a while.) I didn&rsquo;t get much of a chance to check out the other exhibitors&rsquo; 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&nbsp;<em>utterly destroy</em>&nbsp;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&rsquo;re worn out, but we had a blast.</p>			  ]]></description>
			  			  <pubDate>Thu, 24 Jul 2008 18:05:00 EDT</pubDate>
			</item>
					<item>
			  <title>osCon</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/oscon/			
			  </link>
			  <description><![CDATA[
			  				<p>We&rsquo;re at osCon this week! Come check us out!</p>
<p><a href="http://concretethestudio.com/wp-content/uploads/2008/07/oscon.jpg"><img class="alignnone size-medium wp-image-85" title="oscon" src="http://concretethestudio.com/wp-content/uploads/2008/07/oscon-255x300.jpg" alt="look ma! our logo!" width="255" height="300" /></a></p>			  ]]></description>
			  			  <pubDate>Mon, 21 Jul 2008 18:03:00 EDT</pubDate>
			</item>
					<item>
			  <title>chuga chuga…</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/chuga-chuga/			
			  </link>
			  <description><![CDATA[
			  				<p>one week later, we&rsquo;re ranked 800 out of 179,523 projects on sourceforge, with over 150 downloads. We&rsquo;ve got handful of people helping in various countries, we&rsquo;re hard at work on our hosting and marketing materials&hellip; Our booth for osCon2008 is purchased, we&rsquo;re hoping to leave that event with 30 active developers contributing their time&hellip; we&rsquo;ve basically got 6 weeks to get ready&hellip; very exciting&hellip;</p>			  ]]></description>
			  			  <pubDate>Fri, 13 Jun 2008 17:57:00 EDT</pubDate>
			</item>
					<item>
			  <title>first use…</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/first-use/			
			  </link>
			  <description><![CDATA[
			  				<h3><span style="color: #ffffff; font-weight: normal; font-size: 13px; line-height: 17px;">So I originally architected Concrete CMS in a nice little bar in SE Portland to deal with an&nbsp;<a href="http://lewisandclark200.org/" target="_blank">adCouncil gig</a>&nbsp;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 &ldquo;blocks and collections&rdquo; 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 &ndash; there&rsquo;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 &ndash; I&rsquo;ve been looking forward to getting my hands on the complete re-haul concrete5 for some time. I&rsquo;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.</span></h3>			  ]]></description>
			  			  <pubDate>Wed, 14 May 2008 17:30:00 EDT</pubDate>
			</item>
					<item>
			  <title>Wait… Free?</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/wait-free/			
			  </link>
			  <description><![CDATA[
			  				<p>&ldquo;Okay so let me get this straight, when we first spoke it was $13k to own it, and now its&nbsp;<em>free?</em>&nbsp;Are you sure about this?&rdquo; a dear friend and repeat client who runs an agency just asked me.</p>
<p>I get that you want to provide for your family, sooo what are you thinking?<br />Are we going to offer a &ldquo;freemeium&rdquo; model where you get crippleware for free and the useful parts in expensive add-ons?<br />Nope.</p>
<p>Are we going to have a different license depending who you are?<br />Nope.</p>
<p>Are we going have a donation button or something?<br />Yes, but it will point to our favorite charity, which can do more good with the cash than us.</p>
<p>So I give up, why do you think destroying your perfectly viable license revenue is going to provide stability and creative freedom?</p>
<p><span id="more-16">&nbsp;</span></p>
<p>Here&rsquo;s what I see. The biggest challenge my crew has is bizdev. We&rsquo;re not perfect at everything, but we sure can deliver sweet stuff and we improve every day, execept for sales.</p>
<p>We&rsquo;ve only really won good gigs through word of mouth. We&rsquo;ve tried just about everything, and without marrying yourself to a particular vertical, it&rsquo;s very difficult to define a meaningful marketing strategy for a web/IT services company that wants to do &ldquo;cool stuff.&rdquo; 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.</p>
<p>As the network slowly grows, things get easier over time, but it doesn&rsquo;t really deliver with security and creative freedom if it ties you to a limited local gossipy scene. (yeah i said it).</p>
<p>So while completely giving away something we have and can charge a lot for, we&rsquo;re actually doing ourselves a practical favor. Sure, we&rsquo;ll be giving up a revenue stream, but we&rsquo;re dropping a expensive business development challenge that we&rsquo;ve never been good at or interested in solving. We certainly will still spend some real resources to make Concrete5 known &ndash; but a lot of that can be our time instead of cash. Moreover, if what we&rsquo;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&rsquo;m interesting in seeing what a larger open source developer community might contribute to the project from a code standpoint, but I&rsquo;m hungry for their evangelism about concrete5 to their clients. I don&rsquo;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?</p>
<p>That&rsquo;s the practical reason to go &ldquo;free beer.&rdquo; The real one is better:</p>
<p>Content management is a basic human right.</p>
<p>It costs next to nothing to write your thoughts on a piece of paper and&nbsp;<a href="http://en.wikipedia.org/wiki/Martin_Luther" target="_blank">nail it to a door</a>, it should cost about the same to make a basic website without it having to be a blog. If we can do that, we&rsquo;ll win one way or another.</p>			  ]]></description>
			  			  <pubDate>Sat, 10 May 2008 17:26:00 EDT</pubDate>
			</item>
					<item>
			  <title>concrete5&amp;trade;: value the brand.</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/concrete5-tm-value-the-brand/			
			  </link>
			  <description><![CDATA[
			  				<p>Concrete has been around since 2003, this major version update that has been a year in the works and is major version release 5. While our content management system has always been &ldquo;open source&rdquo; to our clients, who paid for it; this is the first fully &ldquo;free beer&rdquo; open source release we&rsquo;ve done. We&rsquo;re giving away our secret sauce and we&rsquo;re thinking how to protect the years and millions in development that have gone into it.</p>
<p>We&rsquo;ve come to recognize it&rsquo;s the brand. We will trademark our name as Concrete5&trade; &ndash; and make money by being the official host, trainer, documenter, and support provider. Conversely we may look at any of those roles and tap a better suited partner as an &ldquo;Official Concrete5 Solution&rdquo; in return for some license or revenue model.</p>
<p>The Ruby on Rails guy looks to have&nbsp;<a title="ruby on rails" href="http://en.wikipedia.org/wiki/Ruby_on_Rails" target="_blank">similar ideas</a>&nbsp;around his brand and license model, which is also MIT.</p>			  ]]></description>
			  			  <pubDate>Sat, 03 May 2008 22:00:00 EDT</pubDate>
			</item>
					<item>
			  <title>Training getaway.</title>
			  <link>
				http://www.concrete5.org/about/blog/open-source-and-strategy/training-getaway/			
			  </link>
			  <description><![CDATA[
			  				<h3><span style="color: #ffffff; font-weight: normal; font-size: 13px; line-height: 17px;">I&rsquo;ve never been a huge fan of the corporate training week. In my experience going to them as a employee, it&rsquo;s kinda a paid vacation, yet a boring. It&rsquo;s great to learn all at once and whatnot, but having someone read a manual to you in front of a computer seems like a horrible way to spend your day when you&rsquo;re visiting a fun big city.</span></h3>			  ]]></description>
			  			  <pubDate>Fri, 25 Apr 2008 17:22:00 EDT</pubDate>
			</item>
		     		 </channel>
		</rss>
		
		