Why Open Source

Blogging Centre

As set out in our Guiding Principles, Agentic strives to be a contributor to the worldwide open-source software community. We are committed to using open-source modules and applications for our client projects for many reasons.

Direct client benefits include:

  • Cost: No license fees (up front or annual), no mandatory upgrades (our clients can choose to upgrade or not), and no external costs to try out or customize open-source software modules to meet our client’s needs;
  • Easy customization: Open-source software is easier to modify to best suit the needs of our client’s organization;
  • Technical support: Open-source software development communities take pride in providing more prompt and more certain answers to configuration and implementation issues and challenges than is typical of conventional proprietary software support desks;
  • Quicker bug fixes: For active open-source modules, the bug-fixing turnaround time is usually measured within days, not months or years;
    No administration: There are no paid licenses or mandatory license agreements with open-source software, eliminating the need to track license agreements and payments.

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

  • Demand-side development: 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.