Development platforms
For application development our primary platforms are ANSI Common Lisp, Java and Python. We generally run this on GNU/Linux or BSD operating systems, and we prefer to use PostgreSQL for database storage.Our use of ANSI Common Lisp for applications and web applications has been highly rewarding. The platform gives us drastically reduced development time and increased agility compared to for instance Java. At the same time, we are easily able to consistently produce high quality code, something that is often more difficult to achieve with platforms such as PHP. In addition, Common Lisp produces very fast running applications, and conveniently allows us to make adjustments and upgrades to running systems.
For larger and well specified systems, we will sometimes use Java, particularly if the customer requests it, or the project specifications demands it. Some of our largest long term projects are Java based, so we maintain an amount of developer competence on the Java platform.
We prefer Python for lightweight applications and for systems that are developed for or by our sysadmin team. Python gives us rapid development, cross platform deployment, ease of maintenance and ensures that systems we develop become relevant to external users when we release them as free software.
We use PHP and MySQL in our web communications team for various reasons - many customers have or anticipate they will have their own hosting, and this is generally LAMP based. PHP also excels at rapid development for one-off projects, which describes the majority of our web communications projects. It also allows us to make use of a lot of existing source code related to web publishing, and allows us to take on projects where the customer starts out with an established PHP based publishing system such as Joomla, eZ or Wordpress.
Methodology
To us, methodology is also technology - partly because we employ technology to solve many of our organizational and management challenges, but also because methodology is something we develop, test, and deploy in much the same manner as the applications we develop.In particular, for web communications projects, we have refined a methodology of less is more based on 10 years of experience in the field, which we believe ensures the best possible result while keeping risks as low as possible. Risks we focus on are deadline slippage and conflicts regarding features and results.
For system administration, we are very focused on setting up scalable and accountable structures. This involves rigorous adherence to procedure - including work logs, updated documentation, privacy/security, contingency planning, and to never let critical paths depend on specific employees. We believe this makes us both very flexible and very reliable, and as a by product it reduces stress on our employees.
For application development we will adapt our methodology to the needs of each new customer, but in generally we prefer an agile process with rapid development cycles.
Other areas of expertise
Beyond the development platforms listes above, here are some techologies that we are particularly familiar with:
- GNU/Linux administration - distributions include Debian, Ubuntu, Red Hat, CentOS.
- FreeBSD and OpenBSD administration - most of our own systems run FreeBSD.
- PostgreSQL and MySQL - we prefer PostgreSQL.
- Tomcat
- Remote backup systems based on rsync, rdiff-backup and Bacula.
- Exim, Postfix and Zimbra MTAs.
- Dovecot and Courier IMAP servers.
Free Software
Copyleft Solutions would not exist without free software. It is both absolutely necessary for us to be able to use free software in order to deliver our services and products, and it is morally and ethically necessary for us in order to operate in the computer industry.For a definition of what free software is, and an exhaustive treatment of why it's such a good idea, read Richard Stallman's essay about it on the Free Software Foundation's web page. Some prefer the term FOSS aka Free or Open Source Software to the term free software - but for us that term is too wide.
Today, free software is well known and many companies base their businesses around it. We have been dedicated to free software since our inception at the end of the 90s, and we included specific clauses in our charter from 2000 regarding it.
Our relationship with free software can be summarized as:
- We will only develop new software under the GPL license.
- We will only modify or extend software that conforms to FSF's definition of free software.
- Programmers we employ keep all the intellecual property rights to the code they produce. Our company can then only use the code on the same terms (a free software license) as any other company. A hostile buyout of our company will not endanger the software.
- We always seek to use free software instead of proprietary software.
- We always encourage our customers, suppliers and partners to not use or develop proprietary software.

