Page MenuHomeFreeBSD

Framework: Introduce bsd.sponsor.mk
ClosedPublic

Authored by arrowd on Mar 23 2024, 7:41 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Oct 16, 5:21 AM
Unknown Object (File)
Tue, Oct 15, 6:13 AM
Unknown Object (File)
Mon, Oct 14, 9:53 AM
Unknown Object (File)
Fri, Oct 11, 10:01 PM
Unknown Object (File)
Oct 9 2024, 12:58 AM
Unknown Object (File)
Oct 8 2024, 2:13 AM
Unknown Object (File)
Oct 5 2024, 4:33 PM
Unknown Object (File)
Oct 4 2024, 5:56 PM

Details

Summary

These changes add two framework-level make targets:

  • make sponsor pops out a dialog window listing available sponsorship options. Choosing one calls xdg-open or echo with corresponding URL
  • make sponsor-describe outputs sponsorship information in machine-readable format

Sponsorship info can be specified on the per-port basis, or in a common DB
file bsd.sponsor.db.mk

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

arrowd created this revision.
mat added inline comments.
Mk/bsd.sponsor.mk
39–40

This should probably be GH_PROJECT or something.

mat requested changes to this revision.Mar 24 2024, 7:54 AM
mat added a subscriber: bapt.

An interactive thing is nice and all, but we want users to stop using ports and use packages, so the sponsorship information should end up in the package's metadata, you should talk with @bapt to see how this could be done best.

This revision now requires changes to proceed.Mar 24 2024, 7:54 AM

we want users to stop using ports and use packages

Who "we"? I don't want that and will keep working in the direction I deem useful.

the sponsorship information should end up in the package's metadata

I agree, but for now it can be queried from the port with make sponsor-describe. AFAIK, freshports.org queries ports for data, not packages.

arrowd marked an inline comment as done.
  • Use GH_ACCOUNT

we want users to stop using ports and use packages

Who "we"? I don't want that and will keep working in the direction I deem useful.

We is portmgr as a whole.
I don't mind you making things work for ports when it is broken, but we want to move forward, not backwards.
So, features need to be available in packages before they are of any use in ports.

  • Put sponsorship information into the resulting package via PKG_NOTES
Mk/bsd.sponsor.db.mk
9–10

I hope that there will be more than just you before this gets committed.
Otherwise, it feels like you are adding a feature just to ask for money.

Mk/bsd.sponsor.db.mk
9–10

I also added sponsor options for ftp/curl upstream as an example. What else should I add?

  • Add Patreon and Opencollective sites
  • databases/sqlitebrowser: Add sponsorship information
  • textproc/logseq: Add sponsorship information
  • bsd.sponsor.mk: Do not use temporary file in make sponsor
  • net/xrdp: Add sponsorship information
This revision was not accepted when it landed; it landed in state Needs Review.Jun 24 2024, 6:39 PM
This revision was automatically updated to reflect the committed changes.

This was not approved, please revert the commit.

In D44487#1014651, @mat wrote:

but we want users to stop using ports and use packages

Excuse me for intervention with off topic, but this is extremely important to note, so please don't. The sole reason I use FreeBSD (I'm pretty sure not only me) is easy customization, including customization via ports framework.
However, it may be possible to consider packages after they will be built with:

  1. Every possible OPTIONS combination.
  2. Every possible -march.
  3. Every possible optimization level and every possible combination of (at least) most widely used CFLAGS.
  4. With each possible DEFAULT_VERSIONS value.
  5. With any of local patches per user's request.

6..n. Each and every possible <name it>
But honestly, I don't think this can be realistically done.

In D44487#1014651, @mat wrote:

but we want users to stop using ports and use packages

Excuse me for intervention with off topic, but this is extremely important to note, so please don't. The sole reason I use FreeBSD (I'm pretty sure not only me) is easy customization, including customization via ports framework.

Thank you for rising voice!
I completely agree and second your description of the importance of ports/ to the FreeBSD project.

In D44487#1014651, @mat wrote:

but we want users to stop using ports and use packages

This in fact will force users into dependency hell like on Linux.

To use clear words: I dislike paternalism and general decisions made under the hat of portmgr@ during the recent years.
There are plenty of Linux distributions doing it 'right' and making it easy for 'the users'.
Please stop forcing FreeBSD into that direction - you will loose those 'users' able and willing to dig deeper and improve/fix/extend software.

There are portmgr@ people deleting foreign ports for no reason and now _you_ decide that Gleb's bsd.sponsor.mk needs approval - Approval from people who destroy one of the key principals of FreeBSD.
This is ridiculous. Users will need to approve portmgr@ decisions! Your revert woulnd't get approval!
But better not to ask but to dictate of course. That way will allow portmgr@ to continue dismantling FreeBSD from the inner.

To return to the topic:
I liked the idea very much.
It is very important that skilled people are supported by their employer to work on OpenSource projects, which directly or indirectly involves FreeBSD.
Naming sponsors might attract more skilled people - not those looking for arbitrary company paying them their bills, but those enthusiasts and smart ones, who have chosen FreeBSD instead of any fancy Linux distribution, because on FreeBSD it's much easier to participate or add customization in a sensible and fertile manner.
ports/ was and still is a very important entrance. FreeBSD will decay if it only has consumers! (and if ports/ is continued to be made distracting users)
If there are only paid people left to do the work, FreeBSD won't improve, simply because there will be much less creative, fresh and individual ideas! This especially would harm FreeBSD since it hasn't billions to spend just add human resources by try'n'error.
(Look at any commercial software product after 10 years evolution with paid people - now name ONE, which is better today than it was 10 years ago. Better for the customer/user, not for the vendor! As time goes by, the advantage relation will turn imho, but that's another topic)

Naming sponsors imho improves the willingness of employers trying out active OpenSource partnerships and allowing their employees to spend time not only on CONSUMING OpenSource, but on participating. This can be for mutual benefit. OpenSource doesn't work with consumers only, and supplier resources aren't available for free!
Sponsorship naming was always an appreciated additional meta info.

If you need time to lift this to be beneficial for packages too, take your time, but don't remove it just because _you_ or portmgr@ as a whole want users to force using packages. Please stop dictating FreeBSD users!

Some porters don't mind support (e.g. https://gitlab.fechner.net/mfechner/Gitlab-docu/blob/master/install/16.10-freebsd.md#support-me ). However, we won't know how good these changes are without hands-on experimentation.