gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gm2] Numerical library - update


From: Benjamin Kowarsch
Subject: Re: [Gm2] Numerical library - update
Date: Mon, 4 Jun 2018 14:15:13 +0900

Perhaps I should mention that in this day and age, visibility alone is very important.

Anybody who doesn't publish their Modula-2 sources on a platform like Bitbucket, Google Code and Github does Modula-2 a disservice.

A language that doesn't have a visible share on these platforms, is for all practical purposes a dead language. We live in the era of big data. There are researchers who use these repositories and the projects they find on them for statistical analysis to produce and publish research papers. There are companies who build businesses based on the data they collect about who uses what and they too harvest data from these platforms.

In other words, if your code is not published on any of the major source code repository platforms, then it doesn't exist. If Modula-2 doesn't show up on any of the major source code repository platforms, then Modula-2 does not exist. Like it or not, this is the world we live in now.

So get off your butts and publish your code where people can see it.

On 4 June 2018 at 14:06, Benjamin Kowarsch <address@hidden> wrote:
On 4 June 2018 at 01:37, john o goyo wrote:
Moreover, the design of math libs is not without issues whatever your approach, in particular not trivial if your aim is to obtain a portable version (our case where RAMSES should give you identical results regardless of the hardware or OS).
 
I looked at the RAMSES site but I could not find any implementation modules.  The EPC compiler is no more and it is not at all clear how to use the EPC modules with gm2.

This is indeed a problem. I had raised the general issue of code licensing and publishing of ETHZ Modula-2 related software before, first with Niklaus Wirth, then with Andreas.

When I first talked to Wirth about licensing years ago, he responded that the it was such a long time ago when he produced those articles, papers and software that it no longer matters, that people could do whatever they liked with it. But this isn't how copyright works. At present, copyright doesn't expire until 75 years after the death of the author (if sole authorship) or the last living author (if shared authorship).

I mentioned this to Andreas and he then talked to Wirth again as a result of which Wirth agreed to release some software (I think it was the MacMETH compiler in this case) under an open source license to be determined in a manner to be determined. I then suggested to Andreas that he should sign up for some hosted service like Bitbucket or Github and upload the sources there as this would save him and ETHZ the trouble of maintaining a server. I think Andreas first wanted to do a cleanup of the source code before uploading it anywhere though. I don't know what happened since then.

In this day and age, the first thing anyone who considers downloading and using third party software will look at is how it is licensed. Unfortunately, the licensing information is not prominently displayed on ETHZ web pages. And when you find it, it only says "freeware". Even for closed source freeware, there should be a license that people can examine.

Andreas, if ETHZ doesn't want to open source RAMSES as a whole, but there are parts of it that you believe would be of benefit for other projects to use, such as the math library, then why not release this math library under an open source license on a repository service like Github or Bitbucket?

There aren't that many Modula-2 users nowadays that the library would become a "bestseller" but you never know, somebody might eventually come along and port it to GM2 or MOCKA or XDS etc, simply because (1) there is a proper license and (2) it is available on a public repository. Absent a license and a public repository it is very unlikely anyone will want to use it outside of RAMSES.

just my 2 rappen/centimes.

regards
benjamin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]