FreeCAD / FreeCAD-Enhancement-Proposals

FreeCAD-Enhancement-Proposals (FEP's)
GNU Lesser General Public License v2.1
8 stars 2 forks source link

Wiki and Projects #7

Open Vanuan opened 3 years ago

Vanuan commented 3 years ago

Could you please enable Wiki and Projects?

I think at this stage non-formal project and task tracking might work better.

luzpaz commented 3 years ago

What benefit would enabling the wiki do ?

Vanuan commented 3 years ago

The main benefit is that you don't have to fork and open a PR to fix a typo or add a new proposal. Also, it avoids conflicts as there will be no pending PRs with duplicate numbers.

Also, could you open access to projects to anyone?

luzpaz commented 3 years ago

What about using the QGIS model https://github.com/qgis/QGIS-Enhancement-Proposals ?

Vanuan commented 3 years ago

As I can see, they're using GH issues: https://github.com/qgis/QGIS-Enhancement-Proposals/issues Might work as well, but this probably needs a member access to the repo to be effective, as non-members can't collaborate on proposals created by an issue author.

luzpaz commented 3 years ago

I'm game. I feel partially to blame for @looooo's move to use FEPs didn't take hold (a bit overwhelming trying to manage unpaid volunteering and real life). But maybe we can have another go at this with @Vanuan bringing the initiative to kickstart this effort again. It's like the Siphon effect, you need to exert some initial force and the system starts to maintain itself. If @Vanuan is game to do this. I'm down to participate and help organize. @sgrogan ?

vocx-fc commented 3 years ago

I was willing to use this system, as in general I have been a proponent for more organization for the project. However, at the time this repository was opened I was really busy with the re-organization of Draft, and I didn't want to spend time on other things. Now it's a different story, but I'm also a bit burnt out. But I still support using this system for improvements.

I think people just have to commit a bit. In the past, important developers have disappeared for extended periods of time (months), and thus we haven't been able to build enough momentum. So, we just need to have a critical mass of 5 or so developers who keep pushing for proposals and working on them; I'm more confident about this than when this repository was started.

luzpaz commented 3 years ago

@vocx-fc I agree!
Ok... then the idea is to use FEPs (QGIS style) and then organize them via Projects?

Vanuan commented 3 years ago

My idea of using "Projects" is that there would be a list of tasks to be done for a given proposal so that people can track implementation progress and collaborate (see who's doing what).

But first we need those proposals to be written in the first place. Using PRs to write them is somewhat inefficient. And issues can't be authored by multiple people. So maybe GitHub wiki markdown format is ideal for that. So I suggest giving Wiki a try:

https://docs.github.com/en/github/building-a-strong-community/changing-access-permissions-for-wikis

And we can use issues (and/or forum threads) to discuss proposal details.

luzpaz commented 3 years ago

@Vanuan I see. Well I'm game to give it a try. Lets open this repository's Wiki. :+1:
My request here is to use it solely for multi-authoring what will eventually become FEPs.

vocx-fc commented 3 years ago

But first we need those proposals to be written in the first place. Using PRs to write them is somewhat inefficient.

@Vanuan I know you are not a fan of the forum, but this writing of proposals and discussion already occurs on a daily basis in the forum. This enhancement proposal repository is meant to make it a bit more formal; for example, you already proposed restructuring the property system of FreeCAD objects; you can make a FEP at any point in time about that, and we can continue the discussion in the forum. But opening a new venue for discussion, either wiki, issues, projects, etc., will just fragment the conversations more. So, I suggest we stick to the forum.

luzpaz commented 3 years ago

@vocx-fc makes a good point, fragmentation is really what we want to avoid. I realize I'm flip-flopping...although we could always enable the wiki in the future if necessary. I second creating the restructuring the property system of FreeCAD objects FEP as a proof of concept.

looooo commented 3 years ago

yes, I also think the forum should be the place to discuss things first. Fep's should only help to gather the content of such discussions in a as short as possible and as rational as possible way.

Why I created this repo? mainly because I wanted to give the community the possibility to make decisions about the future of freecad.

It didn't work out like I thought it will. Maybe I did not make enough advertising, or members of freead community were already too much involved into other parts, eg. heavy forum discussions ; )

Anyway Freecad has (inofficial) decided to no rely on GitHub tools (which imo is a good decision) so we should try to keep this repo as simple as possible. (maybe another possible fep)

I still think FEP's are a good idea. We will see if it works out one day.

Vanuan commented 3 years ago

Maybe let's take some examples.

There are 3 proposals of an Assembly workbench (A2+, Asm3, Asm4). There are 4 forum topics:

As much as I'm interested in Assembly, I just can't keep up with a discussion and see the differences, challenges, pros and cons. So there's some collaboration needed to track those in a concise form.

This is where I see projects and wikis to fit perfectly. With them, whoever is active in a discussion can add weekly updates, move tasks around, create new ones. And whoever is not active in a discussion, can just read a few page of the wiki and see the current status.

Forum is for discussions, not for documentation.

Vanuan commented 3 years ago

for example, you already proposed restructuring the property system of FreeCAD objects; you can make a FEP at any point in time about that

I second creating the restructuring the property system of FreeCAD objects FEP as a proof of concept.

Ok, see #8

vocx-fc commented 3 years ago

@Vanuan There are two pull requests pending as FEP01 and FEP02, so your proposals should start in sequential number as FEP03.

There are 3 proposals of an Assembly workbench (A2+, Asm3, Asm4)... Forum is for discussions, not for documentation.

I agree with this point, however, you have to consider that the topic of assembly is currently handled as an external component, not part of the core of FreeCAD. So, these threads and the discussions in them have been basically a back and fort between the sole developer of that workbench and the users. No attempt has been carried to consolidate them, and I don't necessarily think this is a bad idea; I think at the beginning it's important that we see which assembly paradigm works best on its own, before trying to combine the different workflows.

And yes, in my opinion, having very big threads of hundreds of posts and hundreds of pages of discussion is terribly inefficient, but this is also the responsibility of the forum moderators. In my view, the moderators should have limited such discussions to say, 10 pages long, and after that a part 2 of the thread should be created to continue the discussion. So, for example, you'd have 10 parts of the assembly 3 thread, in order to follow development. In my opinion, this is a sensible thing to do to keep the information manageable even if you don't use a separate tracking system.

And of course, documentation is important, but as it often happens, developers like to develop but they don't want to document everything because it's not very interesting to them. As it often happens, developers expect you to read the code to know what it does. The developers themselves should do a better effort of documenting their own environments. Realthunder has done quite a lot in this aspect in his own branch, but there are still many things that are seemingly undocumented.

Vanuan commented 3 years ago

There are two pull requests pending as FEP01 and FEP02, so your proposals should start in sequential number as FEP03.

That's another reason I don't like using issues for proposals. You can't avoid conflicts before previous proposal is not merged. Let's use the wiki instead.

Another reason is that you can't force me to change the number (unless you have admin rights). With wiki you could've easily fixed my mistake and changed the number.

And of course, documentation is important, but as it often happens, developers like to develop but they don't want to document everything because it's not very interesting to them

You don't know that until you give them a chance. There's a lot of nice documentation efforts. You only need to centralize them. Developers don't like writing documentation because there's no visibility - nobody will read it. It will be buried under the hundred pages of forum threads. Nobody will ever read these discussions, people will just ask the same questions again and again.

looooo commented 3 years ago

Another reason is that you can't force me to change the number (unless you have admin rights). With wiki you could've easily fixed my mistake and changed the number.

I am open to using wiki as a drafting tool for proposals. But in the end, we should have a file (FEP) available in the repo which is independent of github tools.

Vanuan commented 3 years ago

@looooo GitHub Wiki is a repo:

git clone https://github.com/FreeCAD/FreeCAD-Enhancement-Proposals.wiki.git

Vanuan commented 3 years ago

I've copied all the proposals to the Wiki: https://github.com/FreeCAD/FreeCAD-Enhancement-Proposals/wiki

Feel free to edit.

vocx-fc commented 3 years ago

You don't know that until you give them a chance... It will be buried under the hundred pages of forum threads. Nobody will ever read these discussions,

What? Developers already have had the chance of writing as much documentation as they wanted in our official wiki, https://wiki.freecadweb.org/, they just don't do it.

Big portions of that wiki have been written by volunteers like myself. I've had to go into forum discussions, and the source code, to understand many things in order to add missing documentation (to which then I provide links in the forum) because developers never bothered to document many things. It's a bit of a cultural problem I'm afraid, particularly in this project.

looooo commented 3 years ago

@looooo GitHub Wiki is a repo:

git clone https://github.com/FreeCAD/FreeCAD-Enhancement-Proposals.wiki.git

good to know. still I think it's good to have the proposals as files in the main repo once drafting via wiki has finished. But I agree on wiki beeing a good place to get things going. Thanks for your proposals so far.

btw. I would like to add comments on your proposals. How can I do that? with Pr's we have the possibility to add comments directly to the file/diff or discuss underneath. Any suggestion how to do this with the wiki?

Vanuan commented 3 years ago

I would like to add comments on your proposals. How can I do that?

I think forum threads is for discussions. You can either create a forum thread per proposal or per a specific issue in the proposal. Or you can reuse the existing forum threads I've listed in the proposal.

Besides that, you can open an issue here, so that we can "close" discussions.

If it's a small thing, like a typo, you can just go and correct it.