Skip to content. | Skip to navigation

Personal tools
Document Actions

7.3. The Nature of Plone

Up one level
Plone is open-source software for content management on web sites.

Plone Uses the Open-Source Software Development Model

The development of Plone is an open-source, collaborative process.  People involved in writing code, documenting, and testing Plone share a vision of support for open-source software. The term refers to the openness of code to community development, and for use by whoever wants to use it, even those interested in commercial uses and derivatives. This stands in contrast to so-called proprietary software, wherein an individual author or a company creates and improves code "in-house," as their judgment and needs dictate, keeping it private and releasing software as executable programs, without the source code.

Plone, along with most other open-source software, uses the GNU General Public License, or GPL, which offers needed protections against unfair exploitation, and through this protection engenders a sense of community and the power of common will to share in development.

Often people misinterpret some aspects of open-source software by immediately, and superficially, associating the concept with a simple notion of being "free." First, they miss the point that open-source software might not actually be free (See the GNU FAQ and their discussion of free software concepts.). Second, open-source software really shouldn't be thought of as "free," in the absolute sense, because much monetary resources go into it. There is a value connotation here, with the idea of being "free" spurring notions of worth and quality. Consider the electricity to run computers and lights for people working on software, or the cost of plane tickets for programmers to attend a collaborative development jam-session called a sprint, or salaries or parts of salaries.  The individual contributors may be lone citizen developers or writers or testers, who contribute out of their pocket, or they may be employees of non-profit organizations or for-profit businesses, who are on salary. Regardless, there is money involved in development of open-source software -- lots of it.  Furthermore, Plone has a typical modern-day scale. Development is a global effort, with many countries the world over having several active individuals involved.

Proponents of open-source software recognize mature projects as first-class software, driving much of the everyday churning of the Web and a myriad of software projects. Developers of Plone know that the open-source model is viable and prefer it for software development. Once you, as a regular web site user, have examined the open-source model and explored software projects that use it, hopefully you will feel the common spirit. For those involved in the development, testing, and improvement of Plone, the common spirit is manifested daily through email and chat communications about the software, and when people meet for development "sprints," and when there are large annual meetings. Sprints are a lot of fun and allow programmers and documenters to meet face-to-face and get to know each other, building the sense of community.

And now for the bottom line -- Plone is free for people to use, right?  True, there is no price tag associated with downloading and installing Plone, and this is certainly no point to be missed.  Don't forget the costs associated with paying for a web server computer and bandwidth, custom installation and maintenance, and the cost of training.

Scope of Plone Usage

Plone is used in a wide variety of settings, including:

  • Personal Websites
  • Small Businesses
  • Company Intranets
  • Non-Profit Organizations
  • Governmental Organizations
  • Corporate Websites

For specific examples, browse the list of sites that use Plone

Open-source software is widely viewed as the preferred model for software development.

Plone Leverages the Power of Python and Zope

Plone uses the Python programming language for software code and the Zope object database system for data storage.  As a regular user of Plone, you probably won't even see mention of Python and Zope, but they are there, forming the important underlying software infrastructure. You will encounter some aspects of Zope if you take on web site administration tasks, but as a regular user who logs in to a Plone-based web site you will not.  Still, you may wish to understand how Plone is built.

Both Python and Zope follow the open-source model described above.  Separate online communities exist for each, and there is synergy, with the development of one affecting the others. As a programming language, Python is the most generic and "low-level" of the three. Python is a great computer language, favored for its clear syntax and rules and for its range of application to day-to-day programming tasks and to full-blown software projects.  Zope found a niche as a Python-based data storage system that emphasizes a programming style of saving and manipulating information as naturally defined objects in the programming code itself -- a kind of organic approach for software. Zope is flexible, and can extend its intelligence to interface with traditional database storage.

Python and Zope are robust, having been developed and widely used in scientific research, industry, and education, and mature, having marched through many development cycles. Look at the websites, python.org and zope.org, for more details if you are interested in learning more, but fear not if you want to be pleasantly unaware of these details and happy as a regular user of a Plone web site.

Plone Handles the Complexity of the Web

Do you know what goes into making a web site?

You could use any number of technologies to make a web site. You could learn HTML (Hypertext Markup Language, the standard "web site code") and write web pages from scratch. Or you could use a web page creating software like Microsoft's FrontPage or Adobe's GoLive, or you could use a template-based web page-creating program. You could learn to upload web site files to a web server computer using ftp and other file management tools. Or you could use the upload facilities in web site-building programs such as those mentioned above. You could explore the details of how Microsoft's Internet Explorer browser, Apple's Safari browser, the Opera browser, the Firefox browser, etc. handle the specifics of formatting web pages, and you could make adjustments to your homegrown web pages to insure compatibility with these browsers. Or you could use web site-building software to take care of those details. You could learn about database table design in full-featured database software, such as PostgreSQL or MySQL, and how to construct search queries using their lingo.

You get the idea -- building a web site, no matter what choices are made for tools and techniques, involves a lot of low-level, persnickety details. Plone is good at navigating these waters. Web page creation can be a challenge, but Plone handles it well. File management and transfer from local computers to web servers is cumbersome, but Plone makes it easy. Browser compatibility is a big deal and is a constant hassle, but Plone smooths out the wrinkles to maximize consistency. Data storage involves learning intricate details peculiar to the database software world, but Plone, because of its marriage with Zope, essentially weaving data storage into the system so that users don't even have to think about it.