Transition from R-Forge to Codeberg: A Fresh Home for R Package Development

Oct 05, 2026 937 views

After two decades of supporting the R community, the R-Forge package hosting platform is preparing to shut down, transitioning to a read-only site in the coming months. Its departure opens the door for Codeberg, a contemporary alternative that mirrors many of the original values of R-Forge while offering modern tools for collaborative software development.

R-Forge: A Brief History

R-Forge was launched in 2006 following the second useR! conference, spearheaded by Kurt Hornik. His vision was to create a platform akin to SourceForge specifically designed for the R community. With significant contributions from Stefan Theussl, R-Forge was established utilizing the GForge/FusionForge software framework.

Upon launch, R-Forge provided a range of features, including a Subversion (SVN) repository for R package collaboration, daily builds, user forums, mailing lists, bug tracking systems, and web pages. These features were considered state-of-the-art at the time, as documented in the inaugural issue of The R Journal (Theußl & Zeileis, 2009). However, the system became dated, lacking essential modern functionalities like issue tracking, pull requests, and continuous integration, which are now standard in contemporary development environments.

The Move to Codeberg

Codeberg emerges as a dynamic, community-driven platform that offers advanced services for free and open-source projects. Operated by the non-profit organization Codeberg e.V., which is based in Berlin, Codeberg provides Git hosting, project pages, and continuous integration, fostering a collaborative development environment.

Codeberg adheres to the same guiding principles that R-Forge was founded upon but enhances them with modern open-source tools. For users transitioning from R-Forge to Codeberg, the platform represents a fresh start with an improved interface and functionalities that accommodate contemporary development practices.

Transition Guide: Moving from R-Forge to Codeberg

For developers wishing to migrate their projects from R-Forge to Codeberg, Reto Stauffer has compiled a comprehensive step-by-step guide. Here’s a brief summary of the key steps involved:

1. Checkout SVN Repository from R-Forge

Begin by checking out the SVN repository from R-Forge. For demonstration purposes, consider the c403 R package from the exams project:

svn checkout svn://R-Forge.R-project.org/svnroot/exams/

2. List R-Forge Contributors

Identify all SVN usernames associated with the repository by running:

(cd exams/pkg/c403 && svn log -q | grep -e '^r' | awk 'BEGIN { FS = "|" } ; { print $2 }' | sort | uniq) > authors_c403.txt

Remove leading spaces from the resulting text file and add full names and e-mail addresses to facilitate proper attribution in the new repository.

3. Clone a Git Version

Utilize git-svn to create a Git version of the SVN repository. Ensure that the authors are accurately listed to prevent cloning failures:

git svn clone svn://R-Forge.R-project.org/svnroot/exams/pkg/c403 \
--authors-file=authors_c403.txt --no-metadata \
git-c403

4. (Optional) Filter Files

If migrating an entire R-Forge repository, it can be beneficial to filter unnecessary files from the Git history using git-filter-repo.

git-filter-repo --force --path 'README' --invert-paths

5. Import the Git Repository on Codeberg

Create a new project on Codeberg and push the local repository to the platform:

cd git-c403
git remote add origin ssh://git@codeberg.org/zeileis/c403.git
git push --set-upstream origin main

6. Set Up Package Builds via R-universe

For continuous package builds, leverage the R-universe service. This requires setting up a GitHub account to create the relevant repository with a packages.json file.

7. Generate Project Pages

Project pages can be established using Codeberg Pages for documentation, whether generated via pkgdown or altdoc.

8. Update Package Descriptions

Finally, make sure to refresh project metadata such as the DESCRIPTION file to reflect the new Codeberg URL and to guide users on locating the project.

Transitioning from R-Forge to Codeberg not only aligns with modern software development practices but encourages ongoing contributions within the R community in an updated framework that enhances collaborative efforts.

As R-Forge enters its final phase, migrating to Codeberg represents an opportunity to reinvigorate R package development with fresh resources and collaborative tools.

Source: Achim Zeileis · www.r-bloggers.com

Comments

Sign in to comment.
No comments yet. Be the first to comment.

Related Articles

Goodbye R-Forge, hello Codeberg