[relax-announce] Restoration of the relax open source infrastructure on SourceForge.
Molecular dynamics by NMR data analysis
Brought to you by:
edauvergne,
troelslinnet
From: Edward d'A. <ed...@nm...> - 2019-02-07 09:41:44
|
Hi, I would like to announce that, after the May 2017 shutdown of the Gna! open source infrastructure and hence the loss of relax's home (as well as minfx and bmrblib), we have now finally and fully migrated to SourceForge: https://sourceforge.net/projects/nmr-relax/ https://sourceforge.net/projects/minfx/ https://sourceforge.net/projects/bmrblib/ The details of this migration are below. As part of the migration, I will soon release a new version of relax - version 4.1.0. This will consist of 2 years of minor changes and bug fixes, as well as lots of documentation changes for the new infrastructure. Note that, for reference, I have CCed all current and former relax developers. Regards, Edward 1) Gnu Savannah. For two years I tried to register relax at Gnu Savannah as a non-Gnu project: https://savannah.nongnu.org/task/?14528 However the admin there was making it particularly hard - setting a bar so high that most of the official Gnu software collection probably would not make it over. See that thread for all the details. This includes the development of the devel_scripts/fsfcv script for the "FSF copyright validation" of absolutely all relax files. The reason for trying Savannah was due to their strong free software philosophy that relax has always stringently followed. That was the original reason for choosing Gna! (as well as the fact that Gna! was one of the first infrastructures with support for the new and advanced Subversion version control system). I will continue to try to have relax registered at Savannah as a long-term backup solution. Any constructive help on the registration thread is welcome. 2) Git migration. As part of the process, I spent considerable time migrating my permanent backups of the relax Subversion repository backend to a git repository, preserving the full commit history. Due to relax's long Subversion history, with some incredibly long lived branches, this process ended up being quite complex. See the docs/devel/svn2git_migration/README file for the details: https://sourceforge.net/p/nmr-relax/code/ci/master/tree/docs/devel/svn2git_migration/README To visualise the complex history, look back at the commits with: $ GIT_PAGER="less -S" git log --all --graph --date-order --pretty=format:'%Cred%H %P%Creset -%C(yellow)%d%Creset %s %Cgreen(%cd) %C(bold blue)<%an>%Creset' --date=iso Note that the old SVN repository (as well as the git-svn bridge repository) is archived in a read-only state on SourceForge: https://sourceforge.net/p/nmr-relax/code-svn-archive/HEAD/tree/ 3) relax mirrors In the meantime, mirroring of relax was set up across a number of different infrastructures: SourceForge (SF) - https://sourceforge.net/projects/nmr-relax/ GitHub (GH) - https://github.com/nmr-relax GitLab (GL) - https://gitlab.com/nmr-relax Bitbucket (BB) - https://bitbucket.org/nmr-relax/ Having relax spread across so many places should ensure access to relax for decades to come. The mirroring is specifically for the git repositories. These now include the relax source code, the relax website, and the new relax demonstration data files and scripts as three separate git repositories. I have all of these set up as remotes and push all changes to all mirrors! That way the main repositories and mirrors are always up to date. 4) SourceForge SourceForge was chosen over the other infrastructures due to a number of reasons. These include: - File downloads. - Multiple trackers (or tickets as they call it). - SVN support for hosting the old SVN repository. - Real mailing lists. - Backend shell log in (shell services). - MySQL and PHP 7 support (we could possibly set up the relax Mediawiki here in the future). Each of the free software/open source infrastructures have their own benefits. But SourceForge was chosen as the primary site for practicality, as it has all that relax needs. 5) Mailing lists The old relax mailing lists have now been fully restored: https://sourceforge.net/p/nmr-relax/mailman/nmr-relax-announce/ https://sourceforge.net/p/nmr-relax/mailman/nmr-relax-commits/ https://sourceforge.net/p/nmr-relax/mailman/nmr-relax-devel/ https://sourceforge.net/p/nmr-relax/mailman/nmr-relax-users/ The 2 year gap is evident in the history. These have been migrated to the new SourceForge mailing lists: nmr-relax-announce att lists.sourceforge.net nmr-relax-commits att lists.sourceforge.net nmr-relax-devel att lists.sourceforge.net nmr-relax-users att lists.sourceforge.net 6) Website at GitHub Due to SourceForge having ugly support for SSI includes (requiring *.shtml files for this - "SSI will only be applied on files with an .shtml extension"), instead GitHub is being used for http://www.nmr-relax.com. GitHub uses Jekyll and YAML which allows for automatic merging with the master branch with its SSI include files. The website git repository has a gh-pages branch. Changes are made to the master branch, merged into the gh-pages branch, and then pushed to all mirrors. GitHub picks up the changes and quickly updates the website. 7) Wiki The relax wiki (http://wiki.nmr-relax.com) was never affected by the Gna! shutdown as this is run on personal infrastructure donated by Troels Schwarz-Linnet (an active relax developer). 8) The commits mailing list and git-multimail.py Due to SourceForge having the powerful shell services, I can log into their backend and directly modify the bare git repository (and svn repository). That allows me to set up repository hook scripts. For example it allowed me to make the svn and git-svn bridge repositories read-only. I have therefore set up the git-multimail.py script for reporting all commits on the SF git repositories to nmr-relax-commits att lists.sourceforge.net. I have used a custom 'flightgear' branch that simplifies the output: https://github.com/edward-dauvergne/git-multimail 9) The Internet Archive Wayback Machine Note that most, if not all of the relax open source infrastructure from Gna! was preserved by the Internet Archive prior to shutdown. The main page, for example, is: https://web.archive.org/web/20170301013031/https://gna.org/projects/relax/ Navigation to bug, support and task items is not easy though. Often you will need to paste the original URL directly into the Internet Archive (https://web.archive.org/). 10) OpenHub I have set up relax at OpenHub to allow for meaningful development statistics: https://www.openhub.net/p/nmr-relax If you are or were a relax developer, you can sign up there to have a public profile documenting your open source coding. For example: https://www.openhub.net/accounts/true_bugman The stats are shown on the links page: http://www.nmr-relax.com/links.html#OpenHUB 11) NESSY As a side note, as Michael Bieri has nominated me to be the caretaker for his NESSY project, I have also performed a migration of that software to a number of mirrors: https://sourceforge.net/projects/nmr-nessy/ https://github.com/nmr-nessy https://gitlab.com/nmr-nessy Note that the Subversion repository was unfortunately permanently lost with the Gna! shutdown, so the git repositories have no history. The SourceForge site has been set up to be fully functional for any NESSY users. This includes full restoration of the NESSY website: https://nmr-nessy.sourceforge.io/ |