RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Latest news


edit

We're throwing open the doors to our lab

Posted by Ben Avison Thu, 10 Oct 2019 12:57:00 GMT

Following a period of beta-testing by a small group of volunteers, ROOL is proud to announce that our GitLab is now accepting sign-ups for anyone wanting to contribute to developing RISC OS. Dive in, the water’s lovely and warm!

What is this all about?

Software typically goes through many versions over its lifetime, more than most other types of creative work, which makes it especially important to record what changed when and why. Step forward a tool called a version control system.

The simplest version control system might be avoiding conflicting changes by different authors by having a fluffy toy: the developer who holds the toy is the only one allowed to edit the component. Clearly that only works when everyone’s in the same room.

Bark twice to edit

CC-BY PXHere

In 1996 Acorn selected a system called CVS for source control to replace some earlier in house efforts, and the fluffy toy. ROOL continued to use CVS given some tie-in utility scripts that building RISC OS depended up, that is until Git came along.

The move to Git

While several other source control systems have come (and gone!) since 1996, one called Git in particular has come to dominance, with estimates varying between 70%-90% usage amongst both open and closed source projects.

ROOL have now converted the RISC OS code base, including the entire history of changes, into a collection of Git repositories, one for each component. That involved chewing through

  • 2,589,725 lines of C code spread over 7,115 files
  • 1,041,241 lines of ARM assembler spread over 2,361 files
  • 13,735 other supporting files
  • 535 individual components
  • 106,464 historical commits from 69 authors

NASA scientist Margaret Hamilton didn’t even get close with her 420,837 lines of code used for Apollo – we can eclipse that by printing out RISC OS

Continuously listing for several feet

We have also set up a GitLab server which gives a browser-based view of everything. The Git repositories are then hosted on the GitLab part of our website.

More eyes on the future

One of the key differences with GitLab is that it encourages a much more collaborative nature for submissions. Previously there could be bottlenecks waiting for someone with the right skillset to be free when submitted via email, while a privileged few who had direct access could make conflicting changes in the meantime.

With GitLab, proposed changes are publicly visible. You can get a sneak preview of the changes that are in store before they’ve been accepted.

With visibility to many more eyes the review process should be more thorough, and hopefully quicker, encouraging

  • better code quality – more readable and maintainable, with better documentation, making future development and bug fixing faster and easier
  • the identification and remediation of side-effects that may not have occurred to the original author
  • a greater sharing of knowledge and responsibility, avoiding “guruisation” of sections of the source tree
  • catching bugs, security issues or license violations before they end up being distributed to end users

As a rule of thumb, you should try to get involved in reviewing at least as many of other people’s merge requests as you intend to raise yourself. The more you help to review the faster the wheels turn – while we’ll always try to look over any that are languishing, the intent is to reduce the bottleneck of ROOL as a reviewer by help from a larger group of individuals.

We’ve barely scratched the surface

By hosting the RISC OS sources on our own GitLab installation we’ve been able to make a few customisations that wouldn’t be possible if a 3rd party hosting site such as GitHub, such as syntax colouring ARM assembler.

One feature we’ve not yet set up is called Continuous Integration where code submissions can be compiled by GitLab (and potentially even tested) before they are accepted. This could also make binaries for each applicable target platform available for reviewers to test on real hardware.

There are some technical challenges to get that all to work, but we’re sure you’ll agree it will be worth it in the end!

Getting started as a developer

We’ve put together a cheat sheet for some of the more likely setups showing how a typical submission flows.

There’s also a bounty collecting donations to trigger a bounty hunter to work on bringing RISC OS a mature Git client of comparative speed to those other OS’ enjoy. This should allow us to simplify the transfer steps in our cheat sheet some more too.

Tell me more!

For a more in-depth discussion of what this all means please read this article.

Posted in Web site, Press release | 2 comments

Comments

Comment on this article

  1. nukeedit
    Chris Hall (132) said 29 days later:

    When will RISC OS 5.26 be released please? The version on the downloads page is still 5.24, over a year after it was made available on NOOBS but kept secret on the downloads page.

  2. nukeedit
    Andrew Greimann (8313) said about 1 month later:

    Great news! Like Chris Hall, I too am wondering when the planned 5.26 release will be. :-)

RSS feed for this post

Spinner-blue

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Categories

  • Miscellaneous (36)
  • New component (32)
  • New documentation (13)
  • New product (45)
  • Press coverage (7)
  • Web site (40)
  • Press release (64)
  • Community (116)

Recent Comments

  • by Sprow (202) on Lost for something to do this summer?
  • by AndrĂ© Timmermans (100) on Lost for something to do this summer?
  • by Bernard Boase (169) on Going round in circles, quickly
  • by Daniel Hanlon (1373) on I'm floatin' around in ABC
  • by Julie Stamp (8365) on A second great networking opportunity

RSS Feeds

  • Articles
  • Comments
  • Trackbacks

Archives

  • July 2022 (2)
  • June 2022 (1)
  • May 2022 (2)
  • February 2022 (1)
  • October 2021 (2)
  • September 2021 (1)
  • August 2021 (1)
  • July 2021 (1)
  • April 2021 (1)
  • February 2021 (1)
  • December 2020 (1)
  • October 2020 (2)
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Typo theme is distantly based on Typo's 'Azure'

Valid XHTML 1.0  |  Valid CSS

Powered
This site runs on Rails

Hosted by Arachsys