Our principles


At Seamplex we want to shift engineering paradigms by developing products and services based on certain principles. These products and services are heavily based on computational tools, which are essentially pieces of software. These are the principles we base our businesses on.

Free software

We believe that free software is one of the most powerful abstract ideas the human race have ever had. Philosophically it solves a lot of technical and technological issues in a far better way than most other approaches do. And it is also morally and ethically gratifying. Essentially, in words. of the Free Software Foundation, a piece of software is free if it respects the four basic freedoms:

  1. The freedom to run the program for any purpose.
  2. The freedom to study how the program works, and change it to make it do what you wish.
  3. The freedom to redistribute and make copies so you can help your neighbor.
  4. The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.

Not only 100% of the software we use at Seamplex is free (as in “free speech”, not as in “free beer”) but also we try to release as much of the code we can under free licenses. See our Bitbucket repositories for some of the software we write and freely release.

Open source software

Although the Open Source movement converges to almost the same technical conclusions than the Free Software community, they are based on rather different philosophical roots. We at Seamplex believe that both approaches are right, we do not encourage the ethical fights between free softwarers and open sourcers and we do not take either side. We embrace either the term free software or open source depending on the boundary conditions of the particular project we are involved in. Some times we refer to free software. Sometimes we refer to open source. And many times we refer to both at the same time.

UNIX Philosophy

We also follow the UNIX philosophy in almost every chore we do. We do a few things, but we do them well. We separate our front-ends from our back-ends. We write code to write code. We write programs that communicate with other programs. We design for the future. We understand what trusting trust means.

Programming practices

Our solutions may seem a little weird for some clients at first. But once they understand what the rationale behind those solutions is and understand some technicalities, our clients prefer them over other approaches as much as we do.

We (almost) do not write any line of text, either of a code or of a piece of documentation, without having it tracked with a distributed version control system (i.e. Git or Mercurial). Our PDF documents—and even our flyers—have the hash of the commit they were generated from, so if someone gets a printed page she could check (well, we could check) if it is the latest version or not. We hate point-and-clicking so we make a lot of effort to make all of our work script-friendly. And we follow both Donald Knuth’s The Art of Computer Programming and Eric Raymond’s The Art of Unix Programming