Friday, October 26, 2007

Plone on Italian TV

Congrats to the organizers of the Plone Conference 2007 in Naples for making the news on Italian TV.

4:47:57 PM   comment []   

Repoze: Zope, Reloaded

For the past few weeks, Chris and Tres have been working on Repoze. What is Repoze? As Chris described in his blog post:

I'm looking forward to creating lots of new software in a world where I'm no longer in a (largely self-imposed) Zope "ghetto" and I can share stuff with a larger crowd of people via WSGI components while still retaining the ability to earn money using my specialties.

Tres, in the Zopecast from two weeks ago, said something like: "Repoze gives Zope a good grade on 'Plays Nice With Others'." I'll add my view on the outcome: Repoze lets Plone co-exist with other best-of-breed Python applications in a common environment.

Specifically, here's what Tres and Chris have done:

  • Zope2 is now a WSGI application. Even more important, they'll (Tres/Chris) make sure it works.
  • Thus, Plone3 will now run directly inside Apache. Or, with ZServer (which Tres/Chris support as a WSGI server.) Or some other WSGI server. No more managing a separate long-running server process with different management semantics, performance characteristics, and the overhead of an intermediate HTTP call. And...they'll make sure it works. And..they'll make sure it works.
  • Zope2 is now configured via Ian Bicking's Paste, which is getting more and more traction in the Python web space.
  • You can install an entire Zope2/WSGI stack using an easy_install command. And...they'll make sure it works.
  • You can run a Paster-based script to make new instances that all leverage Ian's virtuanenv (virtual Python). And..they'll make sure it works.
  • Chris and Tres started removing pieces from Zope2's application server and have converted these pieces to WSGI middleware. For example, the Zope transaction manager was factored out of Zope2 and into middleware.
  • I've been busy making coffee for them.

To show that this cool vision of multiple Python apps working together is real, repoze.org is based on it. All of the following are running inside Apache using mod_wsgi, configured with one Apache conf file:

All/most of these have certain things in common:

  • Running directly in Apache using mod_wsgi
  • Most are configured using Paste
  • We are using Deliverance from OpenPlans to apply a common theme across different Python applications. Deliverance is a WSGI middleware approach to themes: the theme is untouched HTML/CSS/JS that has dynamic content merged into it via a separate rule file.

This last part is my particular interest. I made two screencasts:

I suspect I'll be talking more about Deliverance in the coming weeks. If you want to follow Repoze, subscribe to the weblog, join the mailing list, or drop by the IRC channel at irc://irc.freenode.net/#repoze.

So what's next? The first goal was to get everything working enough that they'd be willing to do customer work on it. That goal is now met. Next up, though, is the fun stuff.

Namely, we want to get other folks involved. Folks that have wanted the-Zope-we-have-now to be a first class citizen in Python-land. Folks that like the mix-and-match WSGI vision, bite-sized chunks of middleware, a Zope2 story for eggs. Repoze is already bigger than the 3 of us: while Repoze isn't Agendaless, it's certainly agendaless.

And mostly, Repoze wants to be a fun place. There's room for joy and purpose.


2:45:01 PM   comment []   

It's fun being back with the dudes

Last year, Chris McDonough, Tres Seaver, and I started Agendaless Consulting.  The name came from a weblog post Chris wrote as a follow-on to his really motivating, well-cited Lifestyle Inc. article. Last week we did another Zopecast session and this week Tres started talking about getting out and giving presentations at Zope/Plone user groups.

Not only are these guys incredibly talented consultants (I explained to a former associate how lucky they would be to get two guys that have been around the block and know how the software projects work like Tres and Chris.)  But they are also funny as hell, as in "spew beer out through your nose laughing" funny.  And most important, they want to do things the right way.

Agendaless ain't an empire-in-waiting. Instead, it's what 3 graybeards want to be doing: working on bigger/harder projects for customers and communities and feeling good about what you do.

10:18:45 AM   comment []   

Plone Solutions to Jarn: People seem to get it

Janus Boye at CMSWatch today wrote about Plone Solutions' name change to Jarn:

If you're an Alfresco (the tool) integrator, it kind of sucks to compete against Alfresco (the company)...So I think avoiding having a commercial firm by the same name represents an important measure of a true community-oriented project.

Those types of open source CMS projects attract a lot of mainstream attention because they are organized the way tech journalists and analysts understand: central control, shareholder-driven cathedrals.  Alfresco is just one example.  Last year, when Nuxeo switched from Zope to JBoss, they also also switched the product name from "CPS" (with a .org site) to "Nuxeo 5".

Years ago, when I gave talks about open source business models, I had a slide called "Perfect Distance", whose basic idea went into this book:

Paul Everitt regards this separation as "the perfect distance between the two": if it were too close, Zope would be seen as a shill for Digital Creations; if the connection were more distant, people would suspect Zope of not being viable in the long term.

It's funny reading that section of the chapter, obvious reason notwithstanding.  The next paragraph is about Lutris, who was the VC darling back in the early open source days.  Enhydra ultimately dissolved into technology as part of the ObjectWeb consortium, if I recall correctly.

There are multiple directions a project/company can take.  Each direction has its pros and cons relative to the successful outcome (e.g. exit plan) you want from the effort.  But you can't:
  • Pretend you don't have an agenda (exit plan to make shareholders liquid) when you actually do.  People will kind of grok it, even if they don't articulate it that way.
  • Have both the company and the community.  If you really want a community, you have to give them governance, no strings attached.  And most companies have exactly the opposite prime directive.
The move by Jarn shows that even the founders of Plone are putting their chips on the table of Door Number One, that Plone really is a community agenda.  Jarn's move, plus the trademark conclusion, ices the cake, and Janus' article shows that the market can interpret the tea leaves.

9:49:15 AM   comment []