Open Source Rights

I am amazed by the sheer number of open source projects that a typical application depends upon. For Node this can be thousands or Java hundreds.

One of the key rights is the ability to fork. Forking projects allows a project that is no longer supported by its authors to continue. Forking an active project is rare – it splits the community. Forking a dead project is essential if you need it.

Several of the projects that I maintain uses http-builder. This has not seen an update in 6 years. This can mean that the project has reached a level of maturity where there is nothing to add.

Http-builder has a dependency upon one of the core groovy libraries. In particular there is a static method called DefaultGroovyMethods.leftShift that has been dropped from Groovy 3. This breaks the library at runtime.

There is an alternative library called http-builder-ng, but this has different call signatures which requires significant rework.

I have started work on a fork of http-request. The fix for the known issue is fairly easy – copy in two methods from the Groovy Libraries. Getting the project to build is more difficult. Some of the tests depend upon real world endpoints that have changed over time. I have ignored these for now, but intend to replace the tests with wiremock. The code also has coverage tests for documentation which is missing and some mininum test coverage requirements that I have now broken.

I now have the build working locally but now need to get it to build on circleci. Some of the dependencies failed to resolve. Once I have them working again I can get this published to either github packages or maven central.