gnunet-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GNUnet-developers] Towards a new formalized release policy


From: Nils Gillmann
Subject: Re: [GNUnet-developers] Towards a new formalized release policy
Date: Sat, 31 Mar 2018 10:34:31 +0000

Nils Gillmann transcribed 15K bytes:
> Christian Grothoff transcribed 9.8K bytes:
> > On 03/30/2018 07:45 PM, Catonano wrote:
> > > Hello
> > > 
> > > this is the first time I write on this mailing list
> > 
> > Welcome ;-).
> > 
> > > I should probably introduce myself but Iì m not exact6ly comfortable
> > > with introductions
> > 
> > Not really necessary, we are very open and not data hungry ;-).
> > 
> > > I sent some patches to Ng0 when they were migrating the documentation
> > > from the old format to TexInfo>> My patches eliminated a ton of errors 
> > > and warnings that the texinfo
> > > tools were erupting at the time
> > 
> > Great, thanks. You are right that the texinfo now _builds_. But that
> > does not mean that the structure is great (easy to follow, logical) or
> > that all of the text is current.  That said, this is not something any
> > single person can fix anymore: I have not used half the platforms listed
> > for build instructions in a long time and some (completely undocumented)
> > subsystems (looking in the direction of the SecuShare and Fraunhofer
> > teams here) I am not sufficiently familiar with.
> > 
> > > I thought the work on the documentation was finished
> > 
> > Well, technically it never will be ;-).
> 
> The conversion is finished, the real hard work began when it was
> finished. Last winter I considered the initial export and fixes phase
> done and started more fixing grammar and general additions I wanted to
> make ever since I started with this.
> 
> > > If it' s not, I could try to contribute some more
> > > 
> > > Is the documentation process stuck ? Where, exactly ?
> > 
> > (1) devs taking the time to document their contributions
> > (2) someone taking the lead at going over the text, removing
> >     clearly outdated stuff (3.7.7 "the shorten zone" no longer exists!,
> 
> Well the codebase is really big. I'd love to get feedback on what can
> be thrown out, really.
> 
> >     do we need build instructions for Debian 7.5 if we have some
> >     for Debian 8? What about Ubuntu 12.04 vs. 14.04?),
> 
> No. I've been meaning to generalize this. So you get a general instruction
> list (self contained) to build our dependencies and also point out issues
> etc in that list for each dependency.
> After that I want Debian, Ubuntu, gentoo, openbsd, windows, etc in a list
> as small as possible and with a language as easy to follow as possible.
> 
> That's another thing I want to fix in the long run, language requirements
> for reading the Manual. I'm still in the introduction chapter with this,
> as I'm occasionally reading the text to people and correct it to what they
> will understand better.
> 
> >     updating/clarifying things they can update, and *bothering*
> >     people (me, this list) to help them where they cannot!
> 
> Yeah, the thing with the list is, and I've pointed this out before:
> Start using it. I have little to no motivation to write to the list
> because like 95% of the messages happen offlist or continue offlist.
> I could dump my masterplan for the documentation on the list, but I'm
> pessimistic if it would be useful at all.
> 
> > (3) Fixing some ugly layout issues (like the page *numbered* 1 in the
> >     PDF "Introduction" with 1 sentence)
> 
> Yep.
> 
> > As you write below: you don't know how to build the project right now,
> > or how to get an indication of where the coverage is lacking. Well, both
> > would be good things to document. Hartmut worked on getting GNUnet to
> > build on Guix.  We should document how in that very manual.
> 
> I maintain a collection of packages for Guix for building GNUnet that
> are not yet announced. Maybe I can hardlink them into a more public
> repository and we could use that aswell? Wldhxx suggested to document
> both instlaling and developing with Nix (and then Guix?).
> 
> > We have
> > configure options to do code coverage analysis to see where tests are
> > missing.  
> 
> Speaking of missing configure options: being able to build the documentation
> without too much dependencies. For my experimental in progress system *and*
> for the new gnunet.org server we need to build the documentation. At the
> moment my gnunet-doc package, which is only a bit different from the
> guix-env.scm, takes too much time to build because you have no convenient
> way to just build the docs (texi outputs, man, etc).
> Someone should finish --enable-documentation and make it ignore every
> folder except for 'doc' or 'doc/documentation'.
> 
> > That's documented in section 5.6 "Build-system". Is that a
> > good place? Is there a better way to structure the documentation to make
> > this information easier to find? An index? Other chapter/section
> > structure?  That's what needs help ;-).
> 
> Just my view on this, as since the convertion to Texinfo I've been the
> primary committer to the doc/documentation tree.
> 
> Writing good Documentation takes time. To rewrite an entire Documentation
> takes even more time. If I were paid for this, I'd focus on it and would

What I meant by this was more like: If I had a reason to make documentation
a top priority you'd see more commits on the documentation. I can't contribute
to the C parts of the code at the moment, but I like working on the tex based
ones. In general I think we can agree that time being short is a good reason
why this takes long ;)

> probably be done in a reasonable long time. I like working on this, really.
> My main issue is shared time, and therefore too little time.
> That said, I've started a more practical approach: I'm setting up systems
> and getting in touch with Operating Systems (the same way I did with Guix
> back then) to document the process and minimize the parts in the Install
> Handbook.
> In the ideal case you could simply add GNUnet from package repositories
> and be done. Some systems need finetuning, like lynX told me a while back
> that on BSD the VPN function doesn't work. I want to debug this with both
> FreeBSD and OpenBSD (one of them first) to extend the list of systems.
> I have lots of feedback. Like we should really, really, really drop the
> mingw approach. As far as I know Devan wanted to work on this in the future.
> Dropping mingw from the documentation would decrease its size.
> 
> I can take my time to send more feedback and what needs to be done to the
> list if you want?
> 
> > >  
> > > 
> > > 
> > >     2) As for the release _criteria_, I had proposed a few simple minimal
> > >     requirements everybody seemed to agree upon at the time: (1) passing
> > >     testcases, (2) no compiler warnings / serious issues found in static
> > >     analysis, (3) passes 'acceptance' test where we manually try key
> > >     features in the GUI(s).  I think I also had as highly desirable (4)
> > >     working/passing CI/BB and (5) new Web site with current documentation,
> > >     but I'm (in principle) willing to forgo those. Also, we can decide to
> > >     cut out subsystems (psyc, multicast, psycstore, etc.) if those do not
> > >     pass tests and nothing else depends upon them.  So if we get this, I'm
> > >     generally happy to 'make dist' a new TGZ, which is 'making a release'.
> > > 
> > >     3) What you are discussing is more the *development* process.  We
> > >     already have branches.  We have seen how merging branches for a 
> > > release
> > >     can create wonderful additional chaos and delays because the branch
> > >     worked for the dev, but not on other systems --- and merging 100 
> > > patches
> > >     from a branch (as usual with insufficient unit tests) then makes for 
> > > fun
> > >     debugging when you actually want to get a release done.  So without
> > >     better CI and better tests, they can do about as much harm as good. I 
> > > am
> > >     all for "do not break master" and "only commit new code that builds 
> > > and
> > >     passes tests to master". That won't fix the strange 
> > > existing/random-ish
> > >     test failures we do have for a while now. For that, it would take 
> > > better
> > >     tests, and people with the time to write them, and write them well.
> > > 
> > > 
> > > Again, I could try to contribute some tests
> 
> If you want to dive deep into GNUnet, there's also the thing that
> python related tests in our codebase need to be rewritten to python3.
> It will be less work to port them in the process to a more generalized
> common test framework.
> Many python functions we have can also be generalized into something
> like "gnunet-python-common", which our python bindings (gnunet-python)
> could use to be reduced in size.
> I could explain more to you or anyone with python knowledge.
> 
> > Given what is hitting me right this second, there is one other
> > test-related issue: some tests are failing non-deterministically. Those
> > are particularly awful, and so fixing this by either having the
> > underlying bugs be caught deterministically by other tests, or fixing
> > the tests to be more well-behaved is just as important as improving
> > coverage.  Oh, and _often_ the bug is in the test case (i.e. timeout too
> > small, works 95/100 times). Which is a really ugly situation as it makes
> > it hard to know if a change actually fixed (or introduced) an issue. So
> > just running the tests locally a few times to see if some behave oddly
> > on _your_ system can be a good indicator, as this non-determinism can
> > really depend on the specific system. GNUnet doesn't have threads, but
> > we still have concurrency (multi-process), so we cannot escape
> > non-determinism...
> > 
> > > I could use an introduction about how to build and run the project right
> > > now, preferably using Guix based tools/environments
> 
> I have my own way to build GNUnet on guix and done some more recent work with 
> it,
> maybe I could provide some insight if you tell me where you are stuck.
> 
> > Hartmut Goebel <address@hidden> and
> > Andreas Enge <address@hidden> have both worked on this in the
> > past, they know more than I do, but I don't know if they read this.
> > Maybe squeeze some documentation out of them? Might help if you promise
> > to add it to the texinfo ;-).
> > 
> > > And then if there's any indication of where is the coverage lacking,
> > > that coudl be useful
> > 
> > See section 5.6.  Let me know if it is unclear and you are unable to
> > improve the text yourself ;-)
> > 
> > >  
> > > 
> > >     Today, we sometimes have bugfixes in a branch not backported to 
> > > master,
> > >     or branches that have not been rebased to master lacking bugfixes from
> > >     master. Wonderful. As maintainer, it's hard enough for me to keep 
> > > track
> > >     of mainline/master and my own branches/developments. I cannot also
> > >     manually cherry-pick bugfixes from branches, and so far *many*
> > >     developers have been really shitty at merging their branches in a 
> > > timely
> > >     fashion (and by "timely", I can point to examples in the time range of
> > >     within a few years).
> > > 
> > > 
> > > I' m sorry to learn that
> > 
> > Well, I was naturally ranting a bit to hope the situation won't repeat
> > (as often) ;-).
> > 
> > > 
> > >     So please, do feel free to use branches, but more importantly, write
> > >     good tests, make sure they pass, and merge if they do. Also, do setup 
> > > a
> > >     CI, make sure the CI runs the tests on a wide array of systems, make
> > >     sure master *passes* the tests, and _then_ we can impose a 'do not 
> > > break
> > >     master' regime for commits. 
> > > 
> > > 
> > > What does it take to setup a CI ?
> > > 
> > > I hear that Gitlab has some powerful CI tools, could they help ?
> > 
> > That is dvn's plan. Even though my recent experience with extracting
> > information from core dumps from a Gitlab CI that Tim setup for MHD was,
> > eh, painful, compared to what we have today with the BuildBot.
> > 
> > > Again, can I help with this ?
> > 
> > From my perspective dvn & company are "in charge" of this. I heard dvn
> > is a bit busy this month, and I'm sure they'd appreciate qualified help.
> >  In case they don't read this - and if this is what you want to help
> > with, check with <address@hidden>. My understanding of the vision for the
> > NG-CI is that the result will mainly be a Git repo with the GitLab CI
> > configuration. So this should make collaboration easy, but I don't know
> > how far things are here.
> > 
> 
> 
> 
> 
> > _______________________________________________
> > GNUnet-developers mailing list
> > address@hidden
> > https://lists.gnu.org/mailman/listinfo/gnunet-developers
> 
> 
> _______________________________________________
> GNUnet-developers mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gnunet-developers



reply via email to

[Prev in Thread] Current Thread [Next in Thread]