FEP-a4ed: The Fediverse Enhancement Proposal Process

I have a couple of questions about the FEP process.

  • If I’m proposing a technical thing, is it preferable for it to have been implemented already?
  • If I’m adding fields to an ActivityPub object, and I expect them to be used widely in the future, which namespace should I be using? My own, i.e. http://smithereen.software/ns#? ActivityStreams? Something else?
1 Like

I am reluctant to add such a requirement. I do not think that discussion should be referenced from the FEP itself. The FEP by itself should be enough to understand the matter.

I think that is a good idea.

I have created tracking issues for the 3 DRAFT FEPs:

Pull request #13 includes a GitTea template for these tracking issues.

Also added as interim solution in #13.

I have also increased the time before a FEP automatically goes from DRAFT to WITHDRAWN from 90 days to 120 days. This is mostly because I have been away and almost missed the date…Generally a bit more time can not harm.

Would you want to submit a FEP addressing this?

2 Likes

I think it is nice to have at least one working implementation (good for figuring out all the things one forgets), but there is no strict requirement.

Excellent question.

FEPs do not have any control of what should be added to ActivityStreams. Maybe it might make sense to add a FEP namespace (e.g. https://activitypub.dev/fep/ns#) where things can be added but in the mean time I think it is better to use your own.

4 Likes

You mean a FEP to update the FEP FEP :wink:

I may pick this up at a later date. There’s a good basis now, with which we can run for the moment. See what makes sense or not later on.


Something else. Yesterday some interesting background on FEP-like processes:

And a HN discussion about the article (80+ comments).

NABC model from Stanford was mentioned, which stands for Need, Approach, Benefit, Competitors. Both Need and Competitors are most interesting. Separatng Need from Approach is great for the understanding of the author, while Competitors “is the part the authors have to consider competitors of their proposal.”. It has the effect of:

“Thinking about an alternative solution instead of their suggestion requires people to focus on the problem instead of blindly loving and defending their solutions.”

Overall “The process seeks a consent-based environment, not a consensus-based one [AND] brings accountability , as well”

A post was merged into an existing topic: Business domains, LD vocabulary extensions and namespaces

I kindly request final comments on “FEP-a4ed: The Fediverse Enhancement Proposal Process”.

Notable changes since the proposal has been received:

  • Reduce number of characters in identifier to 4. More readable and good enough.
  • Specify the EDITORS.md and SUBMISSION.md files.
  • Increase time before proposal is auto-withdrawn to 120 days.
  • Update some references.

See also the tracking issue.

I have requested finalization in 14 days. If there are no objections, the proposal will become final on the 18th of January.

Thanks!

2 Likes

@pukkamustard I finally read FEP-a4ed and it looks great. A really solid basis for coherent communication in the community.

There’s scope for publishing FINAL FEPs as Social Incubator CG Reports if there’s interest from the community in producing documents with the w3c header on, under w3.org. As well as being preserved at a persistent URL, they have the advantage of being easily submitable to Working Groups as input documents for formal standardisation in future.

2 Likes

I also think the FEP process could be a good way to incubate extensions to AS2, which can then be adopted through a proposal to the CG and added to the AS2 namespace. Since the CG had not manage to come up with a process for this so far, we can talk about adopting the FEP for it at some point.

1 Like

Sorry for being a bit late to the party. My gripes with the process so far were:

  • there no being clear way to submit the FEP, but that has been fixed
  • the FEP IDs changing, but I expect this won’t change again

The current document looks good, although I wonder if it should provide guidance and venues for authors to get discussion and feedback on their proposals.

One very minor typo: BitTorrent Enhancment Proposal Process → BitTorrent Enhancement Proposal Process

Claire via SocialHub noreply@socialhub.activitypub.rocks writes:

Sorry for being a bit late to the party. My gripes with the
process so far were:

  • there no being clear way to submit the FEP, but that has been
    fixed

:+1:

  • the FEP IDs changing, but I expect this won’t change again

Yes, sorry about that. FEP-8fcf and FEP-f1d5 were a bit special as
they were submitted before the process itself was finalized. This
should not happen again.

The current document looks good, although I wonder if it should
provide guidance and venues for authors to get discussion and
feedback on their proposals.

This is an important point that has been brought up previously
(see thread above).

I’m very reluctant to give any concrete recommendations or
requirements on venues for discussing proposal. My hope is that
such venues will develop naturally. When these are established it
might make sense to document these venues. This can be done in an
additional FEP. In best case these would be venues that fit with
the spirit of the Fediverse and are federated/decentralized (as
opposed to this highly centralized forum).

One very minor typo: BitTorrent Enhancment Proposal Process →
BitTorrent Enhancement Proposal Process

Thanks for the catch. Fixed with

3 posts were split to a new topic: Improve FEP process: How to correct, extend or supercede a FEP that is FINAL?

6 posts were split to a new topic: Restart the FEP Process

As a side issue, while merging I noticed we now have a new folder and files inside it which I think could be problematic.

Yes, this relates to what @silverpill pointed out in this comment:

According to FEP-a4ed, identifier should change when the title changes:

An identifier is computed from the proposal title as the first 4 digits of the sha256 hash (in hex)

I think this requirement was created by @pukkamustard in the original FEP process document. I find it a bit complex/involved, but maybe there’s some benefit to it that I am not aware of.

It’s easier to assign IDs this way. In a situation where several FEPs are submitted at the same time, they will almost always have different IDs, and editors don’t have to decide which one is FEP-0010 and which one is FEP-0011 (for example).

However, as the total number of proposals increases, eventually we will start to get collisions. Even if this number is just 100, the probability of collision is already non-negligible:

p \approx 1 - e ^ { - \frac { 100 ^ 2 } { 2 \times 16^4} } = 0.073

(hopefully I’m using the correct formula)

2 Likes

would it maybe be a good idea to restructure the repo such that FEPs each get their own subdirectory rather than having them all top-level under feps/? there are already some FEPs that contain “assets”, and soon i imagine (after FEP 2e40 or 9606), there will be FEPs that contain context documents and term definitions. it’s confusing to have it in the current layout. i propose the following:

  • /feps/fep-2100 => /fep/2100/index.md
  • /feps/assets/fep-2100/linksCollection.png => /fep/2100/assets/linksCollection.png

this came up while i was writing 9606. my initial idea was to use /contexts but this did not seem like a good idea to create yet another split-directory. we can avoid having to keep track of changing files in 3 different folders if we just create a single folder for each FEP.

at that point, you’d have the following required files:

  • /fep/xxxx/index.md
  • /fep/xxxx/context.jsonld (if defining new terms)

with anything else being optional:

  • /fep/xxxx/image.jpg (can be in an assets subfolder if desired)
  • /fep/xxxx/exampleTerm (a text file defining some term, if wanting to give a dedicated page)
1 Like

I agree. Makes a lot of sense, @trwnh. You might make this an issue and/or PR in the repo.

Is there a way to move FEPs to subdirs without breaking links?

i don’t think so – you can make symlinks, but github/gitea/forgejo web preview will just show those as plaintext files containing the target of the symlink, no way to actually follow them. which is to say: this is a server-side limitation.

i think breaking the links in this case is analogous to when the files used to live on git.activitypub.dev? although certainly more links exist now. still, the sooner the better.

note: if/when we go through with setting up w3id we can give more persistent urls to each FEP (of the form w3id.org/fep/xxxx, this mostly happens as a natural side effect) and then we can recommend people use those instead (which allows the actual files to move elsewhere without disrupting those links).

one other thing to consider tangentially: should we generate a static site or at least static html pages for FEPs? doubtless the codeberg file previewer has other shortcomings besides this one.

1 Like

Again, all in favor, also for the static site creation.