Syllable, an attempt to write a desktop-focused operating system from scratch using best practices, has notched up a new milestone, with its developers releasing 0.6.7 today.
The open source OS takes a lot of inspiration from the Amiga operating system, and although focus has largely been on the desktop distribution, a Linux-based server flavour is also available.
Syllable release notes state that the scope of 0.6.7 is "limited". "It is not based on the latest source code in CVS, but on the previous development build, which had been tested for a long time, with many fixes and additions made to it. Building from the latest source would have meant a series of extra issues to fix and test."
The most visible change in this release is the addition of 3D support for the first time, lead developer Kaj de Vos told Techworld Australia. However, de Vos added that for the developers the most important developments are under the hood and clear away barriers to future development of the OS.
"We took several steps in our integration of the REBOL family of programming languages," de Vos said. "So far, only ORCA was included, one of the first open source REBOL clones. Our package manager is still written in it. Boron is ORCA's successor, and it's now included. We also added REBOL 3, the first and only REBOL version that can run on Syllable Desktop. Although it isn't even really ported yet, because we can use the binary interpreter library for Linux. This is a unique ability of Syllable, owing to its high level of compatibility with Linux."
The Fossil distributed version control system is now also included in Syllable. "To enable that, we not only had to port it, but we also had to get the latest versions of the SQLite database to run," de Vos said. "That was already ported to Syllable in the past, but newer versions didn't run due to a file locking bug in Syllable. That was fixed in the Syllable kernel, so the latest SQLite is now included. We are still testing Fossil on top of it, but if it turns out to be reliable we finally want to migrate to a modern distributed version control."
In the past developers wanted to use Arch, but it was abandoned. Other systems were too hard to port and the team considers Git "too bloated."
"In general, this is the first release we are making with a new release engineer and new release management," de Vos said. "There were many hurdles to accomplish that, but having overcome them, the next releases will progressively get much easier to do."
One of the strategic goals of 0.6.7 was to prepare for an upcoming high-level version of the Red programming language. Red support will make cross-development of applications easier for programmers.
"It is currently being created on top of the low-level Red/System language, but we already know that the memory allocator uses the mmap set of functions on POSIX systems. This is now implemented in Syllable, with a series of positive effects, including that we should now be prepared for Red. We could also modify the Red memory allocator to use native Syllable functions, but it's nice for expediting development that this is not necessary now."
"Red/System is already such a nice language that we can potentially do a lot with it in Syllable, including at the low system level," de Vos said. "Red will expand that reach to make it suitable for any possible use case. Currently, Red/System allows us to do a lot more in REBOL style than Boron and even REBOL allow. Red will also cover the range of expertise of REBOL and Boron, so we expect to replace both with Red eventually.
"Currently, the situation with the REBOL family of languages is admittedly a bit chaotic, but Red will bring back order to the land and will extend it all over Syllable over time."
Currently the Syllable team's plans hinge on releasing a new version "When It's Ready". "We do think that with this release, we have overcome the biggest hurdles to make more regular releases again," de Vos said. "The main hurdle left is to fully build from source code again. The current release is partly built manually from binary parts. The next release should be built integrally from source again in one build process.
After that, we have our hands free again for more innovations. In general, we are aiming for what we discussed in our interview last year. Most importantly, we need more applications. This release has a good level of support for SDL programs. We will be trying to port other classes of third-party programs, but we will also keep trying to advance our own system frameworks."