# Discussion of project guidelines draft

 Register Blogs Members List Search Today's Posts Mark Forums Read

 March 26, 2014, 09:34 Discussion of project guidelines draft #1 New Member   Dominik Christ Join Date: Mar 2009 Posts: 28 Rep Power: 8 This thread is intended for discussion of the draft of future community project guidelines for foam-extent. The draft is on the wiki http://openfoamwiki.net/index.php/Project_Guidelines IMPORTANT: If there are new points (or alternatives to existing ones) that you would like to add to the project guidelines draft, please create an account on openfoamwiki.org and edit the wiki page! For genuine discussion and exchange of arguments, please post here. Thanks! Dominik philippose, holger_marschall and tomislav_maric like this.

 March 26, 2014, 10:50 #2 Senior Member   Tomislav Maric Join Date: Mar 2009 Location: Darmstadt, Germany Posts: 261 Blog Entries: 5 Rep Power: 11 I haven't posted here for a very long time, but this post made me log in again. It is nice to see that things are moving forward, regarding a hopefully open development model. How about using the github pull-request system? There is a chance of having a much easier way of communicating during the review + correction phase. The communication stays bound to the code in question - on the portal. There are tools that allow highlighted code snippets that visually pin-point the issues. It is also important that the communication stays open to the public. One more question: if the goal is to step towards an open development model, why is CodeM different from CodeC? I would expect to see a review process where temporary reviewers are involved in the pull request. In that case, there are some temporary and possibly multiple CodeM roles distributed among the developers for each pull request. Ideally, the CodeC, having learned how to code clean code, should become a CodeM for his project, and start participating in the review process for other projects. And thusly, the developer base grows. An open discussion, easily searchable on the internet, can also be a source of information on the design background and rationalle - something quite useful for new library users and possible future contributors. They have a chance of seeing what "doesn't fly" in the sense of code style, as well as language constructs.

March 26, 2014, 11:56
#3
Senior Member

Holger Marschall
Join Date: Mar 2009
Posts: 123
Rep Power: 10
Hi all!

I agree with Tomislav in the point that CodeC/CodeM interaction should be revised a bit towards continuity and growth of developer base.

Regarding the question in Wiki:
Quote:
 We need full access to re-direct/delete/stickify posts. Is this possible with cfd-online?
Do we want to have an own separate forum section, i.e. cfd-online.com/Forums/foam/ beside cfd-online.com/Forums/openfoam/? Anyway, the right person to ask would probably be Jonas Larsson.

Regarding infrastructure:
I am willing to help. However, there are a lot of facilities available. Hence, a 'landing page' providing an overview and redirecting to different sites is a very good idea!

best regards,
Holger
__________________
Holger Marschall
web: http://www.holger-marschall.info
mail: holgermarschall@yahoo.de

 March 26, 2014, 13:41 #4 New Member   Dominik Christ Join Date: Mar 2009 Posts: 28 Rep Power: 8 Hi Tomislav and Holger, thanks for starting the discussion. Please take this one step further and turn e.g. "should be revised" into action by formulating an alternative and writing it on the wiki page. This will help us to achieve concrete results and ideally we would have 2, 3, 4 options for each topic to choose from. Let's get it rolling, Dominik

 March 26, 2014, 15:58 #5 Senior Member   Tomislav Maric Join Date: Mar 2009 Location: Darmstadt, Germany Posts: 261 Blog Entries: 5 Rep Power: 11 @Dominik: Hi, I've edited the site to add the github pull-request based workflow as well as some notes on using Atlassian Bitbucket for the same purpose. Atlassian hosts its web based services for free for open source projects, where teams can be easily organized, projects can be defined, etc. @all: Speaking generally, I believe that the mainstream solutions should be followed and kept fully transparent and open, with a clear division of responsibilities. Teams doing the work on a contribution should be responsible for it and act as a contact base when questions arise about the code: it's use, availability, new feature requests, etc - who else can give a valid estimate of what is working, how much time would an extension take, etc. Teams are easily organized on services like github and bitbucket, and the services are free of charge for OS projects anyway. We have all we need to do the work there. My guess is, since the official release lives on github already, that this would be the better option, although it really makes no difference. Be it gihub (e.g. boost C++ library), or Bitbucket (e.g. Fenics project), we should stick to what has already been tried out and shown to work well for others. The Fenics project is a nice example. Check out the video showing the code swarm with analyzed git data here. Projects like this usually start with just a few people, but can only survive with a wider developer base, IMHO.

March 27, 2014, 04:05
#6
Senior Member

Holger Marschall
Join Date: Mar 2009
Posts: 123
Rep Power: 10
Hi all,

Before we start anything, let's discuss THE central point IMHO, which we then should clearly fix in the mission statement: Let me try to make my point, which I would like to put for discussion before changing anything.

The point refers especially to what we have seen so far from OpenFOAM/OpenCFD and the question is: Precisely, in what do we want to be different and how to achieve this in a realistic way? What I'd really like to see is a genuine community-driven open development model rather than an formalized way of jointly producing open source. OpenFOAM developers (have a look here for the official definition under item 5) seem to remain focused on distribution issues (i.e. dissemination of source to make business). This is OK (to avoid misunderstanding), however, this is not open development. Here is a citation (from [link])

Quote:
 ‘What we are seeing is some projects and entities who are saying here is the source code, it is under Apache licence or GPL or whatever, but the decisions about how the code got to that state are behind some wall – it is not in public.’ This, he argues, is detrimental to the process of coding. Although the end product might be formally classed as open source, it is not a good way to develop sustainable products. He says: ‘You can use it and you have all the rights, but what you don’t have as a developer is an understanding of how the code got that way. So you run into some bug and you say, “Why is the code this way?” There is no historical context or archiving or rationale.’
I have just had a look at openfoam.com/org and their commitment to the users and open source statement:
Quote:
 OpenFOAM comes with full commercial support from ESI-OpenCFD, including software support, contracted developments and a programme of training courses. These activities fund the development, maintenance and release of OpenFOAM to make it an extremely viable commercial open source product. [...] As the copyright holder, the Foundation licenses OpenFOAM free and open source only, under the GNU general public licence (GPL). The GPL gives users the freedom to modify [...]
What a commitment!? What freedom!? IMO, this is not a commitment but a business model; still this is fair enough (ESI/OpenCFD IS A COMMERCIAL COMPANY). However, the only wording that comes into mind related to freedom is 'free labor'. This has little to do with the original concept of an OSS development model. IMO, this is also the reason why we see very few commits in the unsupported contrib repository: I think most people do not feel any sense of belonging to this kind of project and contribute into such projects where they have no say and no opt of influencing the way the software is developing.

This said, there should be concrete changes to the mission statement first, before going technical. What about a project manifesto to clearly say why it is worth participating? Here is mine (inspired by other OSS development projects)
Code:
\begin{description}
\item[Mission] Our mission is to develop and provide a free and open-source framework for Computational Fluid Dynamics and related fields of Computational Continuum Mechanics --  available under the terms of the GNU General Public License, and based on OpenFOAM\textsuperscript{\textregistered{}}
technology -- remixed from OpenFOAM\textsuperscript{\textregistered{}}, the Open Source CFD toolbox (\url{www.openfoam.com}) and under an open and collaborative development model with a global community. Allow all parties to jointly develop and contribute source code, validation examples, training material and documentation.
\item[Vision] In our vision, we see:
\begin{itemize}
\item Users contributing and collaborating in the community and around the world
\item Software that is open source and free (in the sense of freedom) and of high quality adhering to a monolithic standard
in both code and its documentation
\item A community that is enjoyable and rewarding to participate in, nurture and support the Extend online community by
facilitating transparent and open discussion and by exchanging information and knowledge.
\item A project that acts autonomously and in a sustainable manner.
\item A project dedicated to transparency and openness while providing the infrastructural core for exchanging information,
knowledge and know-how in the spirit of the OpenSource development model.
\end{itemize}
\item[Values] We avow ourselves to the following key values:
\begin{itemize}
\item Usability \& Quality\\
(code integrity \& compatibility, validation \& verification standards)
\item Openness \& Transparency\\
encourage open and transparent collaboration throughout all of our work processes; ensure open and free accessibility, both of
the open source code and of its documentation.
\item Community\\
What we do, we do as a community.
\item Freedom \& Trust\\
freedom for all to use, copy, modify, and distribute the code and protect those freedoms using the GNU/GPL; freedom to be a part of the
community and to participate in the future development of the project; web of trust as a foundation of the project; trust in the project to
deliver on its promises, trust within working groups \ldots{}
\end{itemize}
\end{description}
These are my 2 cents to start a discussion, which I consider very worthwhile and necessary targeted at the project's direction... let's "manifest" a project spirit first, then fix technical questions alongside with discussion of roles for community members.
__________________
Holger Marschall
web: http://www.holger-marschall.info
mail: holgermarschall@yahoo.de

Last edited by holger_marschall; March 27, 2014 at 04:10. Reason: typo

 March 27, 2014, 06:51 #7 New Member   Dominik Christ Join Date: Mar 2009 Posts: 28 Rep Power: 8 Hi Holger, Thanks for your detailed input. As you have surely seen already, there is a suggestion for a mission statement in the draft. Please join in with Tomislav and put the alternative mission statement from your post into the wiki page as well, so it is clearly visible for everyone (and more convenient to read than latex source ) and does not get lost in discussion history here. Big thanks! Dominik

March 28, 2014, 19:37
#9
Super Moderator

Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,956
Blog Entries: 34
Rep Power: 92
Just a quick drive-by post:
Quote:
 Originally Posted by dominik_christ For genuine discussion and exchange of arguments, please post here.
As for fine tuning the discussed topics can be addressed in the talk section of said wiki page: http://openfoamwiki.net/index.php/Ta...ect_Guidelines

edit: I forgot to comment on this:
Quote:
 Originally Posted by holger_marschall Do we want to have an own separate forum section, i.e. cfd-online.com/Forums/foam/ beside cfd-online.com/Forums/openfoam/?
This seems a bit related to this thread: Suggestion for a new sub-forum at OpenFOAM's Forum

Last edited by wyldckat; March 28, 2014 at 19:45. Reason: see "edit:"

March 29, 2014, 07:34
#12
Senior Member

Tomislav Maric
Join Date: Mar 2009
Posts: 261
Blog Entries: 5
Rep Power: 11
@Holger: yep, agreed with all your points.

Regarding the questions:

Quote:
 Originally Posted by holger_marschall Hi, I just see that we are currently building up infrastructure twice: http://sourceforge.net/projects/foam-extend/ So IMHO there are two simple questions: Which platform to choose? (I would really recommend Jira/Confluence/Bitbucket by Atlassian) Do we have a critical mass for a go?
A 1. I did a very silly thing, because git really is that simple and I am that simple minded. It took me about 7 minutes (including the upload time) to set up the repositories both on github and bitbucket:

https://github.com/tmaric/foam-extend-3.0
https://bitbucket.org/tmaric/foam-extend-3.0

To those interested in creating more momentum, sign up and investigate the services (this includes the existing sourceforge). Fork the repositories, read about the platforms, simply check things out.

I propose we set up a poll with a final decision date about using: github, bitbucket and staying at sourceforge, which should help us decide which way to go.

A 2. This is not a question I think wil be answered in a sentence. I don't believe that people will log in to this thread and answer, "yes, we are the critical mass"

It will either work out or not, there is no way to tell...

I would like to see the current maintainers, responsible for the project at this point, to comment on this thread. Since Dominik started this, I guess Hrvoje has some thoughts on this as well.. Bernhard commented on the Wiki so I'm guessing he's up for it...

 March 29, 2014, 07:41 Poll: collaboration platform #13 Senior Member   Tomislav Maric Join Date: Mar 2009 Location: Darmstadt, Germany Posts: 261 Blog Entries: 5 Rep Power: 11 Here is a poll for the collaboration platform.

March 29, 2014, 13:49
#14
Senior Member

Holger Marschall
Join Date: Mar 2009
Posts: 123
Rep Power: 10
@Tomislav

Reading carefully, the central question was
Quote:
 Do we have a commitment by the main developers/contributors/extend-admins?
So you raised the same question as I did (at the bottom of your last post)

As for your vote, there is stuff missing, IMHO (Jira/Confluence would be really helpful). Please have a look here (scroll to the software items to choose from): https://www.atlassian.com/software/v...icense-request

best regards,
Holger.
__________________
Holger Marschall
web: http://www.holger-marschall.info
mail: holgermarschall@yahoo.de

Last edited by holger_marschall; March 29, 2014 at 13:49. Reason: typo

March 30, 2014, 05:45
#15
Senior Member

Tomislav Maric
Join Date: Mar 2009
Posts: 261
Blog Entries: 5
Rep Power: 11
Quote:
 Originally Posted by holger_marschall @Tomislav So you raised the same question as I did (at the bottom of your last post)
That's definitely an important question.

Quote:
 As for your vote, there is stuff missing, IMHO (Jira/Confluence would be really helpful). Please have a look here (scroll to the software items to choose from): https://www.atlassian.com/software/v...icense-request
Jira/Confluence are not missing, they are an integral part of the bitbucket web based framework. Same goes for the github pull request system on github.

Once there is a user base there, both services are freely available - so it's pretty clear that if we choose bitbucket, we automatically opt for Jira/Confluence/Greenhopper, etc. On the other hand, if we choose github, we automatically opt for the pull request, team organization, etc on github.. It's unlikely that you'll see someone using github and then working with Jira on bitbucket for the same code - that wouldn't make any sense, since it excludes the possibility to connect code with the collaborative work (highlights during reviews and such stuff)...

 March 30, 2014, 06:11 #16 Senior Member   Holger Marschall Join Date: Mar 2009 Location: Darmstadt, Germany Posts: 123 Rep Power: 10 Thanks for clarifying. Indeed, technically all is fine. Edit: However, I just see bitbucket OnDemand as offered by Atlassian available in their Open Source Project License Request!? Comment: https://confluence.atlassian.com/dis...counts+to+JIRA - all possible __________________ Holger Marschall web: http://www.holger-marschall.info mail: holgermarschall@yahoo.de

March 30, 2014, 07:36
#17
Senior Member

Tomislav Maric
Join Date: Mar 2009
Posts: 261
Blog Entries: 5
Rep Power: 11
Quote:
 Originally Posted by holger_marschall Edit: However, I just see bitbucket OnDemand as offered by Atlassian available in their Open Source Project License Request!? Comment: https://confluence.atlassian.com/dis...counts+to+JIRA - all possible
Yes, they seem to offer all their services to a "qualified open source project" free of charge:

"
Free for open source

Qualified open source projects can receive free subscriptions for Atlassian OnDemand offerings.

"

Edit: although a good point in considering github as an alternative is the visibility aspect. github hosts 10e06 projects, way more than bitbucket. This IMHO increases the visibility of the project - that is a huge pool of programmers and companies.

April 4, 2014, 08:37
#19
Senior Member

Tomislav Maric
Join Date: Mar 2009
Posts: 261
Blog Entries: 5
Rep Power: 11
Quote:
 Originally Posted by dominik_christ Hi all, a few quick comments: In my opinion, two useful principles to evaluate everything would be: 1) Make it as easy as possible for someone who thinks "I want to help and contribute" to do something useful. 2) Make it as little effort as possible for "heavy contributors". ... snipped ... * Code hosting: git on SourceForge / extend-bazaar on openfoamwiki.org * Bug tracker: Mantis on SourceForge * Forum: cfd-online * Wiki: openfoamwiki.org * Social platform: extend-project.de Some of this can be, and needs to be, expanded (e.g. landing page on SourceForge; commit announce sub-forum on cfd-online). I would find it very useful if you could help with arguments how any changes to this infrastructure would be beneficial in terms of the 2 principles above. ... snipped ... Best regards, Dominik
From the top of my head:
changing code hosting to github/bitbucket

principle 1)

Both github/bitbucket are based on extensive use of 'forks', for which you don't need a write access to the repository, so anyone can fork the repo and work on it. There is supposed to be a similar option on SourceForge, but I couldn't find it - I stand to be corrected on that point.

principle 2)

Both github/bitbucket make it easier for "heavy contributors" to work with contributors, for reasons stated above - web based front ends like the pull request system. As for their day-to-day work: nothing changes, it's about vim/emacs + git plugins in the end, no hosting platform impacts that.

Cfd-online forum

Compare this forum, and the searchability of the answers with sites that support upvotes and tags, like StackOverflow and Computational Science Stack exchange. Things get answered here, and are left burried in discussions, often difficult to find via web search, in my experience.

One question: what exactly do you mean by 'commit announce sub-forum'?

 April 4, 2014, 09:17 #20 New Member   Dominik Christ Join Date: Mar 2009 Posts: 28 Rep Power: 8 Hi Tomislav, by "commit annouce sub-forum" I mean that each commit to the master branch (and maybe nextRelease branch as well) should have a short accompanying email which quickly explains what was fixed or what was added. Then everyone subscribing to this thread would know how relevant this particular change is to him/her. Best regards, Dominik

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post holger_marschall OpenFOAM Announcements from Other Sources 3 December 13, 2013 10:14 holger_marschall OpenFOAM 242 March 7, 2013 13:30

All times are GMT -4. The time now is 10:11.