Open Source

Blogging Centre

Open source rocks. Not just because we said so, but because nowhere is there such a great example of the kind of amazing collaborative work human beings can do when they set their mind to it. 

Open source is built by people working together. Not for some huge machine but because they think it's important. Wow, that's something positive about the human race.

But don't believe your IT department when they try to scare you about open source. Open source creators are always looking at their code. Bugs are actually found quicker and fixed quicker than other kinds of software. It helps that there are so many people looking at it. It's like trying to slip in a swear word in a document that everyone is writing. Pretty hard, huh?

We are passionately committed to using open-source modules and applications for our clients.

But why? (Quoted from the 2008 CMS survey from NTEN.org)

  • No fees for licensing
  • Low maintenance fees if it is a low to medium traffic site
  • Low hosting costs
  • Solid software: for most organizations, as good, or better than a system they would pay for
  • Active development and communities mean lots of improvements and new features, plus lots of help
  • Generally easy installation and maintenance
  • Very customizable - easy to add custom functionality

Important to Agentic and to our clients, the open-source software community ethics and standards include (with thanks to Mike Gifford):

  • Fast Bug Fixing: Open-source products succeed or fail entirely on their own merits - there is no PR department trying to convince passive consumers to upgrade to a new version or different product. The development and spread of open-source software is almost entirely dependent upon the needs of end users. This means that user demand drives open-source development, rather than shareholder expectations;
     
  • Community collaboration: If an application developer is facing a problem with an open-source module or other piece of code, it is likely that other organizations are facing the same problem. By sharing solutions, open-source contributors enable other like-minded organizations to avoid the same or similar problems;
     
  • Common good: Cooperation is a critical part of any successful progressive social movement. It is irresponsible to waste time re-creating the wheel and fighting turf battles. NGOs need to work together to develop tools which meet their needs. Open-source voluntary licensing is the strongest way to ensure that these tools remain free, accessible, and in use for the common good.

Agentic prefers Drupal

For application and platform development projects, Agentic turns first to the Drupal modular content management system as a possible solution. Drupal is an open-source dynamic web site platform which allows an individual or community of users to publish, manage and organize a variety of content. Drupal integrates many popular features of content management systems, weblogs, collaborative tools, and discussion-based community software into a single easy-to-use platform.

For users, the elements of the user interface are:

  • Intuitive and self-explanatory so that anyone with minimal technical experience can easily discover, navigate, and change website pages and functionality;
     
  • Uncluttered so that users are not faces with a difficult task of sorting the essential from the non-essential;
     
  • Accessible – Many organizations need to ensure they are following Canadian and US law ensuring people with disabilities can access websites. With us, the standard W3C Accessibility guidelines are observed right out of the box.

The Drupal development community maintains the following development standards:

  • Modular and extensible: Drupal aims to provide a slim, powerful core that can be readily extended through custom modules;
     
  • Quality coding: High quality, elegant, documented code is a priority over roughed-in functionality;
     
  • Standards-based: Drupal supports established and emerging software standards; specific target standards include XHTML and CSS;
     
  • Low resource demands: To ensure excellent performance, Drupal puts a premium on low-profile coding (for example, minimizing database queries). Drupal generally has minimal, widely-available server-side software requirements. Drupal is generally fully operational on a server with Apache web server, PHP, and either MySQL or Postgresql.
     
  • Ease of use: Drupal aims for a high standard of usability for developers, administrators, and users.
     
  • Collaboration: Drupal development supports open, collaborative information sharing systems and approaches;
     
  • Open source: Drupal is based on the open-source philosophy of collaborative free software development and is licensed under the GPL. Drupal is itself open source and builds on and supports other open-source projects. Specifically, Drupal is coded in the open source scripting language PHP and supports as primary data sources the open-source database formats MySQL and Postgresql.