August 23rd, 2005 — This interview forms part of Martin Aspeli's research into the functioning of the Plone community. Martin would like to thank Alexander and all the other participants in his study for their invaluable contributions.Briefly, for the record — who are you?
My name is Alexander Limi, I work as the Chief Architect and Interaction Designer at Plone Solutions in Norway. I have an educational background in psychology and computer science.What is your relationship with Plone and the Plone project? How and how long ago did you become involved in Plone?
I started the project back in 2000 with Alan Runyan from Houston, Texas. My current role in the project is user interface design, project management and community communication and coordination. In parallel, I'm part of Plone Solutions, a company that I own along with friends and fellow Plone developers. I do Plone-related work full-time, although I am occasionally hired for projects where I do pure user interface and interaction design.What do you think are the most positive aspects of Plone as a technology?
Plone is built on a very agile stack of software, and we can adapt very quickly to meet new challenges or implement new ideas. Plone is very light on process, and getting something implemented and being a part of the core framework is easy as long as people agree that it makes sense to have such a component as part of the system.
A major part is also that we have strong multilingual support. At this time, Plone has more than 50 translations, and has a unique and powerful way of handling internationalization and localization as well as maintaining content in multiple languages. This gives us the upper hand in a market like Europe, where multiple language support is pretty much mandatory - but it is also starting to matter in markets that have traditionally been monolingual, like the US. The rise of Spanish as a second language has a lot of companies seriously looking at software that can handle more than one language.
Interestingly, I think the strongest part of Plone as a technology is that most of its value lies in Plone's vision, goals and approach to solving challenges. The most positive aspect of Plone is actually that the technology is less important - it's not technology for technology's sake. If Plone were to switch out all of its underlying infrastructure with something else - it would still be Plone, it would still be a strong community with a strong vision and direction. The technology was chosen because it was what solved our problems in the best possible way when we started - but we are agile enough as a community to adjust the underlying infrastructure to what we need to solve our problems. That's the most positive thing about Plone and its community - its versatility and agility. I firmly believe that this attitude affects both the software and the people involved.What are the greatest problems with, or threats to, Plone?
As with most open source projects, documentation is a major hurdle. Introducing new developers to Plone could be a much more streamlined process, but it's also made more complex by the comparatively big stack of software involved. Web development is a complex undertaking, and content management using web applications even more so. This has been improved a lot the past year, though — four books are now available in several languages (English, German, Japanese), with more on the way.
As for threats - the biggest threat at the moment isn't a technical one, it's more of a marketing and mindshare battle. There's enough systems out there that being heard is a challenge. Fortunately, we have come out among the most visible and well-regarded systems out there, and people are paying attention when we do a release. It's been interesting to see how Plone has started showing up in random articles that are not Plone-centric, but Plone is being used as an example of X or Y, or being mentioned as "one of the available systems in this business area". We still have a lot of ground left to cover in this area, though.
I firmly believe that the next big challenge for Plone is in the marketing / mindshare / storytelling area, and this is where I personally spend a lot of my time and energy these days.What is your perception of the Plone community (i.e. weak/strong, cohesive/fragmented, large/small, etc.)? How important do you feel the community is to Plone's development?
The Plone community is at a stage where it has reached critical mass. It means that the project does not stagnate when some of its leaders are less involved in a period of time, and that there are enough companies basing their entire business model on Plone to keep the project alive, no matter what happens to the people or companies involved.Do you feel part of this community? To what extent does the community influence your own dealings with Plone?
The community influences my dealings a lot. Constant feedback, filtering and monitoring of the Plone users and developers is crucial to bring Plone forward and to solve the problems and challenges people are facing in the real world. The community is Plone.Plone has always been open source. In the beginning, why was this decision taken?
It's a combination of idealism and business sense. We all believe that software is a commodity, a liability if you want - it's a means to an end, and is worth nothing if people can't contribute. It's about building and refining a framework to solve your challenges, and you want people to help out with solving those problems. So much valuable time and energy is wasted when a company goes bankrupt and their software withers away because it is closed and proprietary. The real value comes from the refinement, constant testing and improvement that goes into a product, which again leads to solving problems for your customers. That's where the important part of the value chain is. Software is no good if it causes more problems than it solves, and proprietary software all too often falls in the former category - especially in this particular class of software.
Business-wise, it was also to the only thing that made sense. There's no way a small group people can take on behemoths like Vignette, Interwoven or Documentum on their own - so you use open source as a competitive advantage. Open systems are the only long-term viable solution for something that is as central for your company as the content management system you use.
The content management market is dysfunctional by its very nature — when you get a system from a vendor with a proprietary product, you are still only halfway there. You need to integrate with your existing systems, your workflow and your business processes. Why should you pay for the privilege of only being able to use one company to do this? What happens if your vendor changes business focus or goes bankrupt? Can you still keep your system running, can you still extend and adapt the system to the constantly changing needs of your business?Were the specific business models of companies like Plone Solutions, who build their solutions on Plone, explicitly part of this decision?
It was more the other way around - Plone Solutions was founded on a business model that is compatible with the open source approach to software, and founded on the same core values. That being said, one of the truly great things about the Plone community is that it's very business-focused. Most of the serious Plone developers come from companies that do Plone full-time, and has it as their main or even their only source of income. Conversely, there is also a strong faction of the developers rooted in academia and students are an important part of the Plone ecosystem. They often have interesting ideas, and time to implement them.
I believe that it's this combination of business and idealism that makes the Plone community a success - they are both pulling in different directions, but since it's possible to satisfy the requirements of both groups if you do the necessary communication and coordination, you get a very flexible and powerful tool that can handle a variety of challenges.How much of a help or hindrance is Plone's license when you sell Plone-based solutions?
For us personally, none at all. It depends on what market you are in - some markets (like the European one) are very receptive to open source, other markets (like the US corporate one) are more suspicious, and require more work to be convinced. Of course, these are generalizations, it's usually more per business sector. The aerospace industry can be very critical to open source, whereas the government can be very receptive, for instance. We are in the lucky position to get much more job offers than we want to take on, and can cherry-pick interesting and rewarding customers that help build Plone and its infrastructure instead of compromising on our ideals to make a living.Many would consider the team of "limi & runyaga" Plone's spiritual leaders, if you will. Yet, while you have been very active and vocal on the mailing lists and chat room, Alan has been quite silent, both on the lists and in the codebase in the time leading up to the 2.1 release. Do you agree with this assessment? Do you feel that there is a leadership vacuum on the technical side, or is the community sufficiently strong to manage by itself?
A vacuum can be good in the sense that you get time to focus on one part of the equation without interference from other variables. Specifically, the upcoming release has seen massive and important updates to the user experience you get when you sit down and start using Plone, and it has also given us time to refine and rewrite core components instead of constantly inventing new infrastruture - which has been very healthy for Plone as a product.
Of course, you can't be in that state forever, and that there is an articulate vision on both the technical and the user experience side is equally important. The community recognizes this, and is able to self-repair to a certain extent - another part of reaching critical mass. If the technical side started lagging far behind, it would be raised in the community, and we would pick somebody to shepherd the technical decisions. Fortunately we haven't had to do this in its extreme consequence, but you can easily see the self-reparing mechanisms of the community at work.
I expect Plone to enter a phase of more plumbing and infrastructure work in the near future - the requirements for the next-generation user interface are in a way a driving force for the infrastructure improvements. The current phase has fixed a lot of fundamental issues in the user interface part, and we are ready to take on the next level of functionality and work closer with getting the user experiences to match the powerful functionality that is being added.
Interestingly, even though the plumbing and infrastructure takes a lot of resources, we're in the luxurious position of having a lot of unrealized potential that can be unlocked with some minor refactoring of the underlying infrastructure and some user interface work. The important thing about user interfaces is to refine, refine, refine. There is always a lot of things that can be better, and most of the time evolution is preferrable to revolution - even though the latter may be more tempting at times.
Going back to the original question, I definitely feel that the community has reached a point where it is self-organizing if needed. There is enough money and business on the line for it to make sense for companies to start investing money in the development process. Of course, people expect the original team leaders to provide the vision and the guidance, but they are no longer required to do all the work - which was the case in the past.
I mainly see our roles at the moment as providing vision and organizing the community to pull in a particular direction. It's hard to let go of the actual implementation part, because sometimes the vision of what is needed is so detailed and so strong that you are tempted to "do it properly" yourself. Being able to delegate the work to other is part of growing up as a community, and I strongly believe that Plone is managing that transition in a good way. It has been painful, but very rewarding to go though this process.How consciously and actively do you "shepherd" the Plone community, answering mailing list posts, resolving disputes and so on? How important do you feel that such activity is, and who is responsible for it?
I personally try to take a very active role in this area - but it is by choice. I like being on top of what is happening, I enjoy motivating people to deliver components that excel in what they do - and I consider the community our most important asset. There's such an amazing amount of talented people out there doing incredible things with Plone - which was started by a tiny group of people unhappy with the status quo.
I believe that it is important that I do work like this — but it's also important that I know when to stand back and let that responsibility reside with others. Sometimes it's hard to stay silent when you have strong opinions in a particular matter that is really outside your area of expertise, and sometimes it's difficult to realize that you — as an individual — do not scale to being involved at all levels. I guess it's part of our baby growing up - being able to let go, let it figure things out by itself, as a community, a collective unit.
Another thing that separates the Plone community from a lot of other communities is the amount of real face-to-face communication we have. We organize workshops, conferences, informal gatherings - and most people have a lot of close friends in the Plone community. One of the strengths of this approach is that we can have really heated discussions about things related to Plone - but people are very seldomly offended, since they most likely have met the person on the other end in person - and know that he's a human being, that he's a nice guy. There is a good separation between what is being discussed and the persons involved, and this makes for a healthy community. We can be the best of friends in real life, and still argue agitatedly about a particular part of implementation detail - without offending anyone.What is your impression of the composition of the Plone community? How much of it is commercial-driven and how much is volunteer-driven? Is one aspect more important than another, and is the relationship between firm interests and volunteer interests always harmonious?
It's pretty evenly split. There are strong commercial interests in Plone, but there is an equally strong force that is volunteer work. As I earlier mentioned I believe this combination is what makes up the Plone community, and is the reason why Plone is succeeding where other projects have failed. We never go too far in one or the other direction, we are specialized, but in a million directions at the same time. We have people that have an incredible amount of knowledge in a particular specialized area, and we have people that are generalists and architects. It's a very healthy composition, and we have very constructive dialogue in the community.Many "archetypical" open source projects have a fair degree of idealism at their core, for example the belief that all software should be free and sharable. Is Plone influenced by such ideology at all, or is Plone's philosophy more pragmatic?
Again, we are back to the healthy split in the community. There's a fair share of idealism, and a fair share of business sense involved. This makes for an interesting approach to these issues, and we make sure that both sides are heard when making decisions. Some people depend on Plone for their livelihood, others are just in it for the fun. In sum, I believe that we are part of the newer, more mature and business-compatible open source. We are not afraid of doing business and making money off our product - but at the same time we retain a set of core values that might lose us a contract or two along the way, but we are able to go to bed and wake up feeling good about ourselves and what we do in our day-to-day work.
And that's what it's all about in the end. Control of your own destiny, a fulfilling way to work, a solid product — and lots of fun and amazing people.