mrklein / openfoam-os-x

Patches for OpenFOAM(R) to build it on OS X
93 stars 33 forks source link

License? #74

Open apjanke opened 2 years ago

apjanke commented 2 years ago

Any chance you could add an open source license to this repo? Preferably the same "GPL 3.0 or later" license that OpenFOAM itself is distributed under? I'm interested in getting OpenFOAM packaged up under Homebrew or the like on macOS, and I think doing so requires patches to have a compatible FLOSS license.

mrklein commented 2 years ago

I can add the file, yet, I do not think, that license for these patches will be your main problem. There are the following questions to answer:

apjanke commented 2 years ago

Oh I've got plenty of problems, but these ain't one.

With respect to trademarks, I would primarily refer you and other interested parties to my IP lawyer (who gets paid significantly more than I do), but for a Homebrew formula I think we're in the clear here, because:

The normal process for "complying with trademarks" is that everybody involved aggressively claims all the territory in sight, and then they let the lawyers and courts sort it out. This process is not going to happen here, because nobody cares, because there's no money involved.

Did Homebrew (or the like) learn to install software into a separate volume with case-sensitive file system?

This is an interesting question. Does OpenFOAM have a dependency on case-sensitive filesystems?

In the small, the answer is yes: Both Homebrew and macOS work with case-sensitive filesystems; it is a local sysadmin matter to set up your particular Macs with case-sensitive filesystems. Homebrew does not need to learn how to install software on to a separate case-sensitive volume; that's a local sysadmin decision that the local admins can deal with. Homebrew works just fine on case-sensitive filesystems: the base Homebrew code works with case-sensitive filesystems, and the individual package installs are up to the upstream package maintainers, who are mostly Linux developers and have thus already developed their packages on case-sensitive filesystems, and will in fact mock you if you want to build their software on a case-insensitive filesystem and this causes problems.

Non-issue, imho.

Who will provide support?

Same as usual with volunteer open-source software: Whoever's got the time and feels like doing it, or if there are commercial users of this open-source software, whoever they pay for doing so.


Anyway, I don't think these questions are terribly important. I'm gonna do this thing, and I'm basically asking, would you like to drop a license here and have me use your work and credit you, and maybe you'd like to be involved? Or should I just go do this myself?

apjanke commented 2 years ago

Sorry for being snippy there! I'd had a long day, but that's no excuse, and that was rude.

Basically, I mean: it seems like you know what you're doing here, so it would be nice to make your patches more easily available to OpenFOAM users instead of rewriting new ones. And I think the problems with packaging OpenFOAM up with Homebrew are minor and easily surmountable.

mrklein commented 2 years ago

Trademark is a bit like AOC. Just like you can not call Sonoma county piss Bordeaux, you can not call any software OpenFOAM(R). So, trademark is an issue, and it will your main issue.

OpenFOAM(R) sources use case-sensitive naming scheme, they need to be built on case-sensitive file system, certain solver use case-sensitive naming of fields (phi and Phi). macOS APFS can be case-sensitive BUT it is not by default. System-wide FS is case-insensitive APFS. So, you need all these additional steps with disk image/volume creation.

Concerning support and volunteers. This repository was created in 2014 as an adaptation of Bernhard Gschaider's patch set. He used Macports, I preferred Homebrew, so I scratched my own itch and created these patches. After, they were rewritten almost from scratch removing unnecessary code and too clever solutions. So, the repository is 7 years old. Go to Pull requests tab and count how many external contributions there were during this time.

I think your approach is a bit strange. You ask to add LICENSE file to start making Homebrew formula. While 90% of the patch is already imported in ESI's flavour of OpenFOAM(R), so it can be built without any patches. From my point of view it should be vice-versa: look, we have created a formula; it works really nice; community is growing; we only miss couple of things, which are in your patches; could you clarify license of your patches?

Your proposition looks like a way to create additional work for me. Suddenly I not only update patches, I also have to solve problems of Homebrew users, which decided to install OpenFOAM(R) using your formula.

apjanke commented 2 years ago

Fair enough. I won't pull in your patches for this Homebrew formula.

BrushXue commented 2 years ago

I wanted to create an OpenFOAM recipe for homebrew but the question is how can you make sure it's a case-sensitive volume?