Spring naar hoofd-inhoud

On Perfect Code and Real Software

You can make bug free code, as long as you keep things small enough. And you can probably also make perfect code, as long as you freeze the environment to make it static. But this splendor is ruined by reality. Even well-written code can have bugs. And given the increasing complexity of software, the law of unintended consequences comes into play.

There’s no such thing as bug free software, not even in the top league.

For all intents and purposes, any sufficiently complex and modern program will always have bugs, they're an inevitable byproduct of writing software. You can test software, websites, and web applications as much as you want–a software may have zero known bugs, but never zero bugs. And that goes for any software, be it proprietary or open source. It’s due to the nature of code.

Even if it were possible to write 'bugless' software of such complexity, it would still have to be proven by designing a test system that would exercise each and every line of code in each and every possible way. Mathematically, it could be possible–maybe. But practically speaking, in a system of the size and scope we’re talking about, this is impossible.

Handling nearly perfect code

TYPO3 CMS is a powerhouse content management system (CMS), and the code is correspondingly complex. However complex a program is, it's a systematic review process that keeps vulnerabilities to an absolute minimum and ensures a high-quality software.

Another important part of any programming is testing the program, finding mistakes and getting rid of them by debugging. Listening to users and offering bug reporting options helps make a software product top class. We use TYPO3 Forge for issue tracking and anyone can contribute after signing up. If you find a bug and want to report it, that’s the place to go.

Quality is multifaceted and with software, well-written code and a systematic review process are part of the equation.

Our goal as developers is to write usable, flexible and easily maintainable software that is safe and sound. In the TYPO3 community, maintaining security is of primary importance. We follow security guidelines for reporting, resolving, and distributing fixes for security issues as fast as possible.  

Automatic testing is integrated into the process of developing TYPO's core.

We take a systematic and disciplined approach to building TYPO3 CMS by means of continual testing and revision.

Software testing plays a vital role in the success of any business.

Before new code is merged into TYPO3’s core it undergoes a thorough check to ensure that everything performs as intended. Multiple verification ensures that the software conforms to requirements. Our process of testing consists of four different steps, each of which need to be completed before a patch can be cleared for use.

TYPO3 CMS is known to pass these tests:

  • Unit tests

  • Functional tests

  • Acceptance tests

  • Integrity tests

We published a series of articles earlier this year describing the workflow patterns we use for testing TYPO3’s core in detail.

Developing a successful and strong software requires lots of testing. We test early and we test often. Our total of single tests handled in the TYPO3 core sums up to more than 10,000. But that still doesn’t mean that there are zero bugs!

Is your version of TYPO3 CMS actively supported?

Contemporary business depends on a cyber-world, keep yours safe by using supported software at all times. And make sure website maintenance is part of your company's plan. If your website is running an unsupported version of TYPO3, you're more likely to experience security issues. We recommend you visit the TYPO3 CMS roadmap to view current releases and determine your version.

TYPO3 CMS has a vibrant community of developers that support current versions and work on future versions of the software. Enhancements and fixes are released on a regular basis. The software has clearly defined update and support cycles and is backed by commercial entity, which backs the CMS with further special services (that’s us, the TYPO3 GmbH).

The community supports every Long Term Support (LTS) version for three years after release with security and bug fix releases. A new, stable, major version of TYPO3 CMS is released every 18 months. This means that there are always two stable versions being maintained, at the time of this writing that’s versions 7 and 8. TYPO3 CMS version 6 became officially unsupported by the community on March 31, 2017 when TYPO3 CMS 8 LTS was released.

Extended Long Term Support (ELTS)

If you’re still running TYPO3 CMS version 6, TYPO3 GmbH offers peace of mind through its Extended Long Term Support (ELTS) program. ELTS is always available for the most recent unsupported LTS version. Once TYPO3 CMS 9 LTS is released in October 2018, ELTS for version 7 will begin and ELTS for version 6 will wind down six months after that in March 2019.

Unlock and sustain business value by choosing TYPO3 CMS and the option of prolonging your website’s lifespan by opting for TYPO3 GmbH ELTS. Get in touch with us if you want to know more.