How involve more developers?

Continuing the discussion from What will be the neth business model:

We can grow only if we grow togheter. How we can involve more developers into NethServer Community? Whick workflow or tools can we use?
At the moment a developer has:

what miss? What could be really useful and attractive?

Contributor guidelines?
Junior job?
Project ideas and roadmap?
Bountysource?
Or a contributor agreement?
I’m really curious about @stephdl thoughts!

1 Like

Im on board no matter what you all need :smile:

The goal of a community of developers is hard to create and difficult to maintain it in a sustainable way. We know together where we come from and how the developer community of SME Server was. The question is : why they (you) left away…but there are certainly several billions of answers, each guy gets his reasons.

With the reasons which lead you to the exit, probably we could have some things to not reproduce here, if you want to have a community of developers. I love History mainly because it can help you to not do again mistakes.

The first things I don’t want to see could be developer caste, the core and the nethforge. I don’t know too much about the owncloud community, but their agreement makes me think a bit like that. I need to make research and to forge my opinion about this way.

IMHO this project needs a real wiki, discourse can’t compete with redmine/dokuwiki/wikimedia, and it will be a start to share informations like I do for SME Server.

The junior job is encouraging , the developer skill grows issues after issues therefore it is important to encourage people to start on low level features/bugs instead to go to the wall because they think that it is cool. That’s a good idea.

The bountysource could interest me, I develop for fun, but each month I pay for my server at 1&1, 40 real €…I recall the snobble club where rpms were available against subscriptions and it is maybe a way to encourage. In other hand that could come from the core and be integrated in a market where you return back the payment to the developer.

But also I would listen others :slight_smile:

3 Likes

indeed it’ll be good to know which were the reasons for whom you moved away from SME

This is an aspect that should be exposed by nethesis, probably without their official position about we can make only guesses on which direction give to this project without have any assurance for the future

totally agree

+1

rather we could make a subscription of funds for the maintenance of development’s servers, instead of charging plugins

2 Likes

A really long story, but in short http://lists.contribs.org/pipermail/devinfo/2013-January/011219.html

3 Likes

I see this community produces three kind of artifacts:

  • HowTOs
  • NethForge RPMs
  • Core RPMs

The implementation of a new feature starts by writing an howto with sparse commands, then it becomes code shipped as an RPM.

By now, the main distinction between Forge and Core repositories is the review and QA process, which is more strict in Core, because it is enabled by default on every machine.

The whole process seems to me adequate at the current stage of the project. It allows transforming a good idea from any dude into a feature of NethServer.

I agree: Discourse is limited as a wiki. I personally like the GitHub, where the wiki is directly editable from the Web and is also a git repository with the power of versioning and workflow features.

3 Likes

Playing with NethGui since some days, I can have a start of course, but I’m facing about the lack of documentation. I know that it exists some pointers

and maybe other but I don’t know their existence.

In fact like we were joking some time ago on IRC, a developer will never read the documentation, but he will read the code written by other, I’m doing the same thing. I have a nethserver with all modules installed and I look under the hood when I want to do something.

Not sure that method is scientific but it is workable :smile:

Among the developer documentation, Nethgui should be better documented or at least more code possibilities could be added to the https://github.com/nethesis/nethserver-ui-examples.

I could have a start a day on this topic, but I’m not really a developer nor a PHP specialist and this documentation can not suffer wrong things…It is really critical.

2 Likes

Could be good starting points for a new FAQ/HowTo that we can point out to new developers. How about?

@stephdl @giacomo @davidep @alep @Stll0 I want create an announcement to share on social networks with the aim of involve more developers, what kind of sentence could work? I want attire the attention of Perl and PHP developers
You should read this phrase and “ehi, cool… take a look and try to help…”

1 Like

I also had some tough time writing a NethGUI module… Maybe a little more comments in code could help.
About attiring developers, developers!==coders… I’m bit sure about who should be your target

2 Likes

ahaha funny pic!
How do you would like improve the documentation?

Who is my target? Please explain your thoughts

Writing it :smile: or having code commented in NethGUI modules examples

I don’t know your target! Just I don’t think that Perl/PHP hardcore coders are.
Linux enthusiast? Pro sysadmins? No idea :horse:

1 Like

Honestly I must admit that I found some Pearls in NethGui, the way on :
How generate Tables from a database and a key type
How generate panel with Tabs
How write sliders, dropdown menus, radio button, checkbox, expandable or not
…it is so simple.

But all of this should be documented as example in https://github.com/nethesis/nethserver-ui-examples and also in your php files.

I worry that the right to play with neth code could be a bit hight since some languages are needed. I mean :

  • Perl (quite sure that a php coder can do it)
  • PHP (a lot of guys know)
  • RPM compliant (often that needs to be learnt)
  • Javascript (I found some pieces, reading in your official modules)
  • Python (the todo reminder is written in Python)
  • probably other :slight_smile:

I wonder if more API could be written to avoid to use all of this language, for example the TODO API is a bit complex and I need to use Python, that I don’t know at all. Ok If I follow step by step I should have something workable.

Of course I have no ideas on how to do that, but you should limit the number of used languages, keep as so simple as possible.

3 Likes

Python is not a requirement: as in events/actions, the TODO script can be written in your preferred language. The documentation shows an example of xgettext invocation for the Python language: maybe it was misleading!

However, we should change the entire “Translations” section now. This is my proposal.

As a developer i often want to contribute back to some projects but i don’t have much time for it.
Project setup times should be minimised so a clear and up to date contribution doc is essential.
The first that comes in mind is http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html

Actually i don’t know how complex is your projects’s development setup, if there’s a test suite to run or whatever, but i can assure that if contributing is technically not easy, many people will just give up :smile:

Also always +1 to Github that is, for better or worse, the de-facto standard for open source contributions.

3 Likes

That’s interesting, thanks very much! We should write down something to Setting Up a Development Environment for NethServer /cc @davidep @giacomo @Stll0

2 Likes

yes it would be nice :thumbsup:

Here you are: http://docs.nethserver.org/projects/nethserver-devel/en/latest/building_rpms.html

1 Like

Thanks @giacomo!
@dz00te what do you think about such docs? Is it quite clear for you?

I can’t say much about NS, but I can say about Zentyal. I’ve been close to the Z community from 2010 for over 4 years. Before the major investments by OpenOcean capital the community was building up rapidly Ubuntu/Canonical style. Steps were taken to install a Community Council. At that time, we were focussing on getting more involvement from the community and plans were to attract more developers with mainly perl skills.
IMO this is absolutely necessary to get the community growing. You must have community developers that contribute. People that can expand the project with new ideas and modules. It is absolutely necessary to have a sustainable group of volunteers that can guide new, starting developers to become veterans.
I have seen it happen that because there was no investment in the community, attracting volunteer developers failed and the community became a group of non skilled beggars.
Failing to invest in the community results in NO community at all. Now Z doesn’t have a ‘community’ version of the server but they renamed it in ‘development’ version :facepunch:
What I have seen this far from the NS community, this will not happen any time soon. What does need to happen is considering VERY carefully what steps to take to get at that point to have that sustainable group of volunteer developers and how to keep them.

6 Likes

Really interesting point of view.

I have the same analysis. And I see few things to adjust:

  • Organizing the doc, to show what already exist, to not waste time to dig.
    I think with this little tweak, more developper could come with us.
    We must demystified the Nethgui and the E-smith layer, with this., more developer can move from ClearOS, from Zentyal, or other distro.

  • With more developper,s the Actual Dev Team can concentrate to the Core system ( Firewall, Nethgui, Samba, Proxy), and the Community on the Apps ( Owncloud, Rouncube, Plex, Sogo, Girafa, and so on)

4 Likes