Thoughts on a Development-specific engagement

From my recent searching/reading of the community, I do see examples of users jumping in to contribute features. This is awesome, but I’d imagine that people are reading the source to get started, and having some barrier to entry to contribute (especially when the change might require some discussion and knowledge of the development practices or preferences).

On the other hand, I’ve seen really strong examples of open source engagement like Zulip, where there’s detailed code reviews provided and a dev-specific community for discussion of technical changes.

Has there been thought/plans to provide more support for contributors? Perhaps it’s later down in the roadmap?

Some examples that might be helpful:

  • Shared Space for Dev contributors where they can share scratchpad/ideas of technical changes (e.g. architecture changes or ideas on implementing certain features that are planned for the roadmap)
  • Dev-specific categories in this Community where we can chat or discuss implementation details

Update: I found Open Any Initiative | Anytype Docs which points to the Contributor Community on GitHub Discussions

I think that anytype is “open source” in meaning that they let you see the code, but barley let you touch it. You can see what’s in their “need help” on github. Like 5 issues. There are no open feature writing by the community users.

Some of us tried to participate, but the process didn’t make it easy.
I hope this will evolve, perhaps into a more complete version (because I think it’s preferable to develop directly to the app code rather than make extensions, at least for a large part).

Yes. I’d like to write some features to anytype as well, but nobody is making it easier :smiley:

Shifting it to make things more actionable: What would you like to see to make it easier for you to write some features? Could you share some examples from other repositories that made it easer?

Nothing big. Just to have open backlog, and things that I can do. For now there is nothing like that. There is only board with “need help” which at least for me is a joke.

Maybe detele this board, or rename it to Contributors backlog, and put there more issues, and obviously more interesting ones.

Just for others and myself (since I’m new), the relevant links:

I’ve been sort of thinking the Feature Requests as a big backlog. I saw some contributors from those and contributing.

However, I know some of these features might require larger amounts of code, design (both code, and visual/UX), and planning. Having those conversations in the request threads might not be as conducive/productive.

Any changed the license to closed source (“see but don’t touch” is not “open source” in the spirit of the word), so you would gift the results of your work to a for-profit company without any of the open source advantages. Based on that I would strongly argue against helping with “coding”.

While I personally dislike that chage to the maximum possible extend, I understand the commercial … thinking behind that. Yet my “commercial thinking” is: No open source, no contributions.

Thtas true, but I could give them my time if they let me develop features I’d like to have. It’s like doing it for myself :smiley:

Thanks for sharing.
This is helpful for me to understand why people are against contributing or why it’s not necessarily prioritized by the team.

I wonder if Any is open to moving to a license like Functional Source License (FSL) instead? It’s one that Sentry moved to recently. Some reasons here.

I get that if it were an MIT license, it would be much easier to make the case. Especially seeing recent positive activity around BlueSky.

@flypenguin would you be more open to contributing if it was a Functional Source License (FSL)? Or would you only be open to contribute if it were such a license or would you only contribute if it were strictly an open source (OSI) license?

Update: I was reading https://legal.any.coop/ and it seems rather permissive and somewhat equivalent to FSL. With some differences. Not a lawyer of course. But it does sound like encouraging contributions.

@Shampra Do you mind also sharing some ideas on how this process could be improved?

hi sirhc, I never heard about the FSL – and yes, that would be an alternative. it would depend on the timeline though. after some thinking i consider the three year limitation @anton mentioned in that post to be way too long (a nice comment summarizing “eventually open source” here :slight_smile:)

yeah. and now tell me the list of allowed networks, please. :wink:

in the end it boils down to trust, and – speaking purely for myself – Any has burned quite some here. the move to closed source came totally surprising for me, while they talk about openness, digital freedoms, and keep that review quote snippet mentioning “is open source” BOLDLY on the main page – “hm” …

since this is a tool which i intend to hold all of my “brain”, i will not tolerate any “oops we’re closed now” possibility. I can simply go to notion then – they don’t pretend. any markets openness, but does – as of now – not quite deliver.

“my” perfect license would be “AGPL 3.0” – that’s free, and they could still do anything they wanted. which competitor would agree on publishing any “Unique extensions” to the product? :slight_smile:

I cannot disagree.
Its OPENSOURCE because it’s nice to be an opensource project now :smiley:
I don’t see Anytype as opensource project because there is no easy and painless way to contribute.
It’s like:
Hey You!
Look here we have some garbage things that no one from our team want to do. You can contribute to opensource project and take care of it!

Oh it was a true open source project – MIT license. that’s indeed very open, yet it was.

Do you mind clarifying when exactly did Anytype move to closed source?

For the context, I wanted to participate on the Anytpe-ts part…

  • a few small pull requests accepted
  • other PRs refused because middleware was the preferred solution or because it was a design issue.

I’d started other work (in particular, to have displayable relations on previews, which I thought was cool) but I preferred to stop.

Some ideas if the team wants to encourage developers to help:

  • Better communication
    – Have a way of discussing development proposals with the team, before and during progress. Technical discussion: in my opinion, the forum is not suitable.
    The objective is to have support if we have technical questions or to validate our ideas. No reaction, no answers, discourages participation!
    – And when you submit a PR, avoid refusals without a discussion to explain why. You have your reasons, but after hours of work for us, getting a “no, that’s design” stings.
    – And since that’s a setback for both you and us: make sure you indicate somewhere what you accept and what you don’t!
    Don’t do anything involving deisgn, UX, UI? Okay, but you have to make it known too.

  • I think this is still a work in progress: better integration between the different tools would be nice. We don’t have access to your Linear, so it’s impossible to know if this or that is already in progress. And sometimes Github and the forum overlap.

  • An ever better documented code
    As for the code, it’s more or less commented on depending on the part. It’s always a pity, but in an open-source project, it seems to me essential to document functions, comment on the whys and wherefores of certain parts, etc. When it’s well done, it’s not a problem.
    When it’s well done, there’s really no need for further documentation.

Please also note that in “Help wanted”, there is no link for the development part. If you want one, you’ll have to show it a bit more ;-).

So the main thing is to communicate and define a clear, documented process.
I see something I’d like to work on on the forum or Github → I open a participation request (specifying what I’m proposing - technical or design) → I’m given the Go or I’m told what’s going to get in the way → Exchange along the development path if necessary → All good!

This may require some time dedicated to this follow-up, especially if it develops… but it will also be development gained!

PS : and nothing to say about licence, it’s open-source according to the accepted definition (generally…). As I don’t intend to resell Anytype in my neck of the woods, I have nothing to say against the current version.

Have a look on AppFlowy github. It’s live, a lot of things. If Anytype would have similar approach we would have now formulas in the application :stuck_out_tongue:

Sure. This commit deletes the old MIT license, while this commit enabled the “Source Available” license.

That means I can view the source, but not do much with it. This is not “open source” in the meaning of the word – so it’s “closed source” to me. We might disagree on terminology though. If in doubt, I refer to “open source” in the GNU or OSI sense.

If you tell me “oh this is so open” please tell me … :

  • may I clone the repo, adjust the software, and publish the modified version in either source or binary form?
    • may I charge a fee for providing this version (hosting, effort, …)?
  • where can I find the list of allowed networks?

(legally binding advice, please, including expected edge cases – Any should be able to elaborate on this, since it’s your license).

Also, yes, I am aware that the protocol libs are “open” – yet as long as this is not a widely used standard, it does not mean anything – because (a) you can change this license anytime and then keep developing, as you did with the main client, and (b) everybody is using the client right now, not the libraries.

ummm … no. not in the original sense of the “open source” term, and also not what you expect when you hear it. i even saw another project recently explicitly avoiding the term “open source” for their license because it was, in fact, “source available”.

@Filip I still would like an answer to those questions, especially the “list of allowed networks” one. would that be possible?

(note – i don’t plan to resell or redistribute anytype in any form whatsoever, i just want to understand better what you actually mean when you say “open source” – if that’s “complicated”, welll, then my point is made i guess. still – the list of allowed networks, please … :slight_smile:)

You can find a list of all the allowed networks at https://networks.any.coop.

From our license (near the bottom):

Allowed Networks” (https://networks.any.coop) are the networks, identified by their unique ids, names, or list of nodes, that are expressly authorized by Any Association, to which the Software may send requests. Any Association may add networks to this list, and, upon reasonable notice, remove networks from it.