Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A proper definition of 'conda-forge'. #1277

Open
ForgottenProgramme opened this issue Mar 17, 2021 · 21 comments · May be fixed by #1671
Open

A proper definition of 'conda-forge'. #1277

ForgottenProgramme opened this issue Mar 17, 2021 · 21 comments · May be fixed by #1671

Comments

@ForgottenProgramme
Copy link
Contributor

I was going through this page in the conda-forge documentation.

https://conda-forge.org/docs/user/introduction.html

The opening goes like this:

What is conda-forge?
conda-forge is a community effort that provides conda packages for a wide range of software.

Now, although conda-forge is a community effort, that alone cannot be its definition. It's just a quality.

"What is conda-forge?" should not be followed by "it's a community effort".
But instead a proper, concise, consistent definition that we use across all our pages of documentation, or infact, on all our pages across the web.

Again, the 'about' page has a different description/definition which, although better than 'conda-forge is a community effort', is too wordy and confusing.

https://conda-forge.org/#about

What's the one line answer we give when someone asks us, "What's conda-forge, btw?"

"oh, conda-forge is a tool that lets you install all packages from a single channel" or whatever.

I think, it is time we mutually decide upon a definition that's descriptive and at the same time concise and use this definition across our web presence.

@viniciusdc , I'd like to know your views on this.

@beckermr
Copy link
Member

cc @conda-forge/core

@viniciusdc
Copy link
Contributor

viniciusdc commented Mar 17, 2021

As @ForgottenProgramme commented, I totally agree we should pursue a better definition of what conda-forge is right now, besides the arguments pointed out I also found some kind of outdated information so far… Then, creating/discussing our definition would help to determine a more clear image of conda-forge for new members in the future.

And also, I'd like to point out an idea to have some open discussion with the general maintainers, about their perspectives and definitions of what conda-forge is for them.

@ocefpaf
Copy link
Member

ocefpaf commented Mar 22, 2021

We started with "being a community" as our main drive. The origins of conda-forge go way back when we had several third party channels efforts and unifying the most important ones in a community was paramount. So we don't see it as a quality per se but as a mission.

With that said... We do need to update the definition to something that explains it better for those who are not part of the conda packaging community!

@jakirkham
Copy link
Member

Yeah there was also an issue around where the source of truth for recipes of packages was and how best to translate updates of recipes into rebuilds of package, but it's been a long time since we had that issue (since conda-forge's recipes + CI to build packages solve that issue)

@viniciusdc
Copy link
Contributor

translate updates

@jakirkham is this one you were talking about #22 ?

@jakirkham
Copy link
Member

That was more a consequence of grappling with that issue and interoperability more broadly

Historically there was a conda-recipes repo that contained some recipes that defaults used (to some extent) to build their packages. However they didn't build all packages in that repo, when they got built was based on when there was a need/someone had time, and in some cases the recipe may have been patched locally to build (or built differently than what one might have naively assumed)

conda-forge addressed this issue as the recipes and the infrastructure made it transparent when and how recipes would be built in a way that wasn't done prior (except perhaps for more localized groups as Filipe has referred to)

The issue that you dug up basically points out there are some common packages that conda-forge may want to rebuild that defaults also has. So was trying to grapple with when to update them here vs. asking defaults to update them. The conclusion was conda-forge built everything that was in defaults as well

In Fall 2017 this led to Anaconda to rebuild their stack using conda-forge recipes (with some patches). So things were more unified again. We have since worked with Anaconda to upstream changes from their recipes in ours, update compilers used here, etc.

@viniciusdc
Copy link
Contributor

@jakirkham oww I got it, thanks for the context and background. I know that it could differ a little about the main goal of this issue but, If you could to link some issues that you remember of that time in this, it you be a great source for the purpose of this discussion @CJ-Wright

@jakirkham
Copy link
Member

Yeah I don’t think we need to write all that up. Just trying to give context

@croth1
Copy link
Contributor

croth1 commented Mar 24, 2021

I don't remember where this definition came from, but feel a bit like I hacked this together when I was restructuring the docs, without knowing much of the history nor asking anybody for a consensus.

If I had to redo this page, I wouldn't put emphasis anymore on WHAT conda-forge is. Even if we had a crisp, clear definition of that, I doubt it's of much use to somebody who encounters us for the very first time.

Instead I would focus answering more user/community questions such as:

WHY does conde-forge exist?
WHY might I want to contribute/join the community?
WHAT can conda-forge do for me?
WHAT are we as a community actually trying to achieve?

I feel we should capture the historic background in the introduction, but I would bury it in an extra historical section. IMHO the history might not be the primary concern of potential newcomers.

For my taste, the landing page is too technical, puts too much emphasis on WHAT and HOW, and too little on our perceived mission, and questions to WHY and WHY should I care?

@PrernaSingh587
Copy link
Contributor

Hi, If this is up for Outreachy, may I take this issue ?

@ForgottenProgramme
Copy link
Contributor Author

This discussion has been stagnant for long now.

@croth1

WHY does conde-forge exist?
WHY might I want to contribute/join the community?
WHAT can conda-forge do for me?
WHAT are we as a community actually trying to achieve?

sounds good.
But the answers to the first three questions are already present in the intro page. And that is precisely what makes it so hotchpotch.
Why would I care about "why does conda-forge forge exist?" until I have atleast some idea about WHAT IT IS ?
Perhaps, a better idea would be to indeed have a proper definition for conda-forge that is displayed on top of the intro page under 'what's conda-forge'.
And then, in an intelligent order we answer all those questions, maintaining a proper flow. So that at no point does it look like patchwork.

@prachinandi
Copy link
Contributor

This discussion has been stagnant for long now.

@croth1

WHY does conde-forge exist?
WHY might I want to contribute/join the community?
WHAT can conda-forge do for me?
WHAT are we as a community actually trying to achieve?

sounds good.
But the answers to the first three questions are already present in the intro page. And that is precisely what makes it so hotchpotch.
Why would I care about "why does conda-forge forge exist?" until I have atleast some idea about WHAT IT IS ?
Perhaps, a better idea would be to indeed have a proper definition for conda-forge that is displayed on top of the intro page under 'what's conda-forge'.
And then, in an intelligent order we answer all those questions, maintaining a proper flow. So that at no point does it look like patchwork.

I too wanted to convey the same, and that's what I had proposed that is to get the better of all the definitions. The definition have been different in various conda-forge manifesto. (https://anaconda.org/conda-forge here again u can find a diff definition, but I think this kinda defines conda-forge very well)

@beckermr
Copy link
Member

beckermr commented Apr 5, 2021

Given the prominence of this content, @conda-forge/core will need to sort this out themselves I think.

@ForgottenProgramme
Copy link
Contributor Author

ForgottenProgramme commented Apr 5, 2021

Given the prominence of this content, @conda-forge/core will need to sort this out themselves I think.

@beckermr
Sure thing.
But inputs from first time users could act like 'user research' and help the core members come up with a user friendly definition.

Also, I wonder if we'll be under some obligation to use the same definition as given on the anaconda.org website.

@prachinandi
Copy link
Contributor

Given the prominence of this content, @conda-forge/core will need to sort this out themselves I think.

This confusion was raised back in 2017, someone had raised a similar issue #374 , hopefully this time it gets solved 😄

@prachinandi
Copy link
Contributor

Given the prominence of this content, @conda-forge/core will need to sort this out themselves I think.

Sure thing.
But inputs from first time users could act like 'user research' and help the core members come up with a user friendly definition.

Also, I wonder if we'll be under some obligation to use the same definition as given on the anaconda.org website.

yeah true

@ForgottenProgramme
Copy link
Contributor Author

ForgottenProgramme commented May 24, 2021

Maybe we can resume this discussion. :)

@shreya024
Copy link

@ForgottenProgramme @beckermr Hi I am Shreya, an Outreachy applicant .I would like to work on this issue .Kindly assign

@beckermr
Copy link
Member

Go for it!

@shreya024 shreya024 linked a pull request Mar 31, 2022 that will close this issue
3 tasks
@harshita214
Copy link

@ForgottenProgramme @beckermr
I am Harshita, and I am also very interested to work on this as an Outreachy participant. As it will be my initial step towards this organization. Can I be assigned this task

@jaimergp
Copy link
Member

jaimergp commented Jun 22, 2023

Folks in this discussion might want to check the proposed definitions at:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.