|
[Sponsors] |
April 5, 2014, 10:20 |
|
#22 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello,
Here's my little 2 cents... First of all, I think we should applaud Dominik for contributing an initial text for the guidelines. The proposition initially put forward is well articulated and concise, something we can work with. Then, after reading the posts from this thread, I realized that the main development concept being put forward here is still based on a Centralized Repository concept, a concept I think is no longer suitable for this project. The Centralized Repository concept was fine for a starter, but I would like the project to evolve toward a fully Decentralized Repository workflow concept like the Integration Manager Workflow illustrated here: http://git-scm.com/book/en/Distribut...nager-Workflow Under this development workflow, any contributor is responsible for his own public git repository, using whatever site, platform or tools best suited for his development needs or the needs of his team (gitHub, SourceForge, Jira, Git, Mercurial, etc.). For example, if I want to contribute code to the main developer, I basically contact him with all the information necessary so he can pull my contribution from my public git repo, so he can test and validate my contribution until he feels confident that my code is safe and worth including into the main repos. I don't need write access to his git repo, nor do I want to. He can pull from mine, and host my code under a branch on his repo. Yes, the main developer from the main repo becomes an integration bottleneck, but hosting my code under my own repo or hosting my code under a branch on the main developer repo will not change this fact. The idea is to have the main developer do the least possible work necessary to integrate contributions, so prepare your contribution accordingly. The branching model currently put in place (http://nvie.com/posts/a-successful-git-branching-model/) don't need to change, this is basically a very good branching model, but nothing more. We certainly don't need to stick to the centralized repository concept presented there. As for the pros and cons of moving to a site offering better software engineering tools like Jira, etc, I think the critical mass of collaborating developers to feed those nice little tools is still not there in my opinion. But I would love to be proven wrong here... But if your team needs those tools to contribute to the foam-extend source code, please go ahead, have your team hosted over Atlassian or gitHub or where ever you feel comfortable, do whatever software engineering wizardry you need to provide good code, and then contribute your stuff back to the main developer who will do the final integration. The Decentralized Repository workflow is well suited for this. I think good contributions is still way more valuable for this project than the tools you will be using to generate/manage your code. As for SourceForge.Net, I would like to offer a few complementary points of view.
But again, switching to a fully Decentralized Repository workflow render this discussion about SF.Net rather moot since the public site hosting the main repository can be quite different from the sites where people will be collaborating and building their contributions; it doesn't and shouldn't matter... Hope this helps. Martin |
|
April 9, 2014, 15:58 |
|
#23 | |
Senior Member
Tomislav Maric
Join Date: Mar 2009
Location: Darmstadt, Germany
Posts: 284
Blog Entries: 5
Rep Power: 21 |
@mbeaudoin: I agree completely with you with respect to the openness of the development model. Also, I am not on a crusade for github/bitbucket, just to make that clear...
The only question that remains when the development is revolving around sourceforge is if the site supports forks easily and in an advanced way that makes collaborative work easy, like github/bitbucket actually do. The other characteristics of the sites are more/less same (no cost, huge amount of other projects, etc). I mean, with the Distributed Workflow model that you proposed (Integration Manager Workflow), it is clear that the site needs to support forks since the users will have their own public repos (which is what I have pointed out in my previous posts). From the link you have provided (I've added italics): Quote:
__________________
When asking a question, prepare a SSCCE. |
||
April 10, 2014, 23:01 |
|
#24 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello Tomislav,
> The only question that remains when the development is revolving around sourceforge is if the site supports forks easily Yes it does. See the little "Fork" button here : http://sourceforge.net/p/openfoam-ex...ci/master/tree All you need is an account on SourceForge.Net, which is very easy to get. Once you have forked your project, see the little button "Request Merge" available from the project page of your new project. And your forked project becomes public as well, so you can share your code as you wish. > and in an advanced way that makes collaborative work easy I have no clue here on how "advanced" this is for collaborative work. I am forking my projects the old fashion way using git, and using Email to communicate with project maintainers. Works for me. Martin |
|
April 11, 2014, 03:16 |
|
#25 |
Senior Member
Tomislav Maric
Join Date: Mar 2009
Location: Darmstadt, Germany
Posts: 284
Blog Entries: 5
Rep Power: 21 |
Hi Martin,
the only difference between sourceforge+email and github/bitbucket AFAIK is then in using emails instead of some web frontend that allows code highlighting and comments. If sourceforge + emails have worked so far and since sourceforge supports forks, then there's no need to change anything from the technical side. Tomislav
__________________
When asking a question, prepare a SSCCE. |
|
May 13, 2014, 08:00 |
|
#26 |
New Member
Dominik Christ
Join Date: Mar 2009
Posts: 28
Rep Power: 17 |
Hi all,
big thanks to everyone who contributed to the discussion! I try to summarize the major points: 1) The centralized repository structure should be replaced with a github-like fork-and-merge system. This can be achieved with the existing platform on SourceForge. 2) Regarding the person who is doing the merging of code, various approaches have been proposed: A rather restricted one, where the project head is the only one doing merges (similar to linux kernel development model) and a rather wide one, where an experienced code contributor would perform the merge. Aspects to consider are work load on project head/admins, growing the number of capable people and maintaining good quality of the code. 3) Contributions and merges must be well documented/announced. This would probably require adding or restructuring sub-forums on cfd-online, which may also include changes for topics on a wider scope. 4) In general, various alternative platforms were suggested (e.g. github, Jira). The argument was raised to use existing software platforms as far as they fulfil the needs and only consider a switch if we find we require additional functionality that we cannot get otherwise. 5) We all want a free and open public software development model that is based on a large active user community. The project guidelines should contain a clear commitment to this. Thanks to Tomislav for putting his ideas into the Project Guidelines Draft on the wiki. I will make some further alterations to accommodate the points above. If you find some points under-represented, please post here and be sure to include concrete additional or alternative text (so please avoid any: "I would like..."/"I don't like how..."/"Someone should..."). The result will constitute the preliminary project guidelines and I'm really exited that we are going further on this way! Best regards, Dominik |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
CoCoons Project - Community-driven Documentation on OpenFOAM® Technology | holger_marschall | OpenFOAM Announcements from Other Sources | 6 | February 2, 2022 15:42 |
The FOAM Documentation Project - SHUT-DOWN | holger_marschall | OpenFOAM | 242 | March 7, 2013 13:30 |