Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [iot-pmc] top-level GitHub project

FWIW, I fully agree with Jens’ assessment.

If the main reason for requesting a github org is "The process and the services (GitHub, Travis, AppVeyor, Bintray) work great, is it really that big of a problem if we don't use JIPP for now?“, this imho is no valid argument for such a request.

I also agree that the dependency on adlink-managed repos&projects should be removed - you should really try to have the project being maintainable by the means that are offered by the Eclipse Foundation.

Regards,
Kai


Am 09.11.2018 um 09:51 schrieb Jens Reimann <jreimann@xxxxxxxxxx>:

Hi Jeroen,

sorry but now I am even more confused than before. If Cycleone doesn't need any dependencies, then what are we talking about? I thought the main goal of using conan was about dependencies?

But just in case did misunderstand you, and you indeed need dependencies:

I still don't see the reason why you need a GitHub organization. Because from what I saw, conon is just a tool that will run. And the way you set it up with Travis and a single repository is just one way to set it up. You could very well put this into a single repository, maybe use different branches, or an all-in-one registry. And you could also use JIPP to build this, instead of Travis, …

And the whole description of "vendor neutral" that you just have, doesn't sound vendor neutral at all to me. If I would be a committer on the cyclonedds project, then I wouldn't have automatically permissions by this bintray repository, as you mentioned, that it is managed by adlink, and not by the Eclipse Foundation.

I think a good approach may be to start off small, and start building on JIPP. To me it looks like you can build all the dependencies you need e.g. with a Jenkins pipeline. That way it would even be self-contained. It could be replicated, doesn't require the management of additional outside services and could all be done in a single repository. Or two or three if you want to split it up. And it you then run into a real blocker, let's discuss what really required.

Cheers

Jens


On Thu, Nov 8, 2018 at 11:24 PM Jeroen Koekkoek <jeroen@xxxxxxxxxxx> wrote:
Hi Alois,

It's precisely the opposite for Eclipse Cyclone. The project itself has 
no external dependencies at this point (except the idl compiler, but 
that's Java), it's just test cases that need test frameworks for now. 
The code compiles cleanly on at least Linux, macOS and Windows (no 
warnings) and the steps to get everything done are in the .travis.yml 
(Linux and macOS) and the appveyor.yml (Windows). This discussion is 
precisely to get everything setup so that the devs can take care of all 
the hard work :)

Hope you'll reconsider about trying Eclipse Cyclone :)

Best regards,
Jeroen


On 2018-11-08 23:04, Alois Zoitl wrote:

> Hi,
> 
> I have been following this discussion for a while. firstly if I can 
> learn something for my project and secondly I had Eclipse Cyclone on my 
> todo list for
> getting it into 4diac. After today I must say it moved way down to the 
> bottom of my list. Because it looks now so complicated to get it build 
> for the many
> different platforms we would like to use it on. Is this really needed 
> when I want to use Eclipse Cyclone?
> 
> BR,
> Alois
> 
> On Thu, 2018-11-08 at 22:10 +0100, Jeroen Koekkoek wrote: (1) Yes, we 
> could. But we've just setup everything wrt to Travis and
> AppVeyor and it works really well. The process and the services 
> (GitHub,
> Travis, AppVeyor, Bintray) work great, is it really that big of a
> problem if we don't use JIPP for now?
> (3) There are multiple recipes. There's two direct dependencies, but
> those have dependencies as well. All-in-all there's currently five and
> more are to follow when we start work on the C++ language binding,
> support for security, etc. Yes, you can build all of it manually and 
> set
> it up that way, but it requires an awful lot of work that needs to be
> repeated every time we want to upgrade etc. Conan more-or-less requires
> a repository per dependency. You could view the recipe as an RPM/DEB
> source package, but with instructions for multiple operating systems. 
> Is
> that really something we want to create a repositories for directly
> under the Eclipse GitHub organization?
> 
> It's vendor neutral to use Conan and Bintray. It's currently managed by
> me and owned by the atolab GitHub organization (division of ADLINK).
> Anyone with the right privileges on the repository can push a new
> version and it automatically gets uploaded if the build is successful,
> all the tests pass and it's in a stable branch. If anyone wants to fix 
> a
> bug, add a platform etc, all they need to do is submit a pull request.
> Of course if they rather maintain their own copy, they simply fork the
> repository and push to their own Bintray repository or internal
> Conan/Artifactory server and use that.
> 
> All of these services are tied to GitHub organizations. For example, 
> the
> binary artifacts in Bintray are hosted per organization. e.g. the Conan
> repository that we use is now https://bintray.com/atolab/public-conan/
> that would become https://bintray.com/cyclonedds/public-conan/ for
> instance. But descriptions and that sort of thing need to be updated,
> perhaps older versions discarded and that's something that would then
> require action by people with privileges, aka the Eclipse webmaster.
> With a TLOrg all of that becomes just that much easier.
> 
> On 2018-11-08 18:16, Jens Reimann wrote:
> 
> So summing this all up, and only focusing on the topic of a dedicated
> organization, I don't really see the need for that.
> 
> (1) You can build with JIPP, so that should be fine. You can still have
> a Travis build in addition, so that others can use this. But the
> project default can be JIPP. And it can validate PRs as well.
> (3) I am not really sure if those recipes belong in cyclonedds or not.
> In any case the project must be buildable without relying on conan, or
> bintray IMHO. And even if you want to store the recipes in cyclone,
> then you can do this in e.g. a dedicated cyclonedds-dependencies
> repository.
> 
> Aside from the question about the organization, a question to me would
> be how the project would ensure a vendor neutral approach to the
> management of binary artifacts? I, as a committer of cyclonedds, not
> being an adlink employee: how would I push new binaries into this
> bintray repository? Or set up a new job to do so?
> 
> On Thu, Nov 8, 2018 at 5:33 PM Jeroen Koekkoek <jeroen@xxxxxxxxxxx>
> wrote:
> 
> Hi Jens,
> 
> (3a) Yes, it's possible if they have the libraries installed on their
> system and CMake can find them. But it's tricky to create them
> yourself
> especially on Windows (Debug, Release, x86, x86_64, patches).
> Something
> we rather not have potential contributors (or colleagues) go through.
> 
> (3b) The recipes are rather small and certainly wouldn't qualify as an
> open source project in their own right. However, they are purposely
> created for cyclonedds (CUnit got adopted by Bincrafters) and I think
> the project should be able to exercise some level of control which
> versions, binaries etc are used as long as they're not "official"
> packages (as in adopted by Bincrafters or the Conan project itself).
> 
> (3c) The recipes themselves are automatically build and tested on both
> Travis and AppVeyor, if successful, the artifacts are automatically
> pushed to Bintray. There are a lot of custom scripts provided by
> Bincrafters, an initiative to create recipes for many open source
> libraries, that require a special repository layout etc. Something I
> don't want to recreate myself.
> 
> To give an idea of how/when Conan comes into play.
> 
> ---- with conan ----
> $ pip install conan
> $ mkdir cyclonedds/build
> $ cd cyclonedds/build
> $ conan install ..
> $ cmake -DBUILD_TESTING=on ../src
> $ cmake --build .
> ---- /with conan ----
> 
> ---- without conan ---- Download, build and install CUnit (mostly 
> available in distro
> repositories, but not for Windows or macOS, Windows even needs some
> patches)
> Download, build and install Criterion (ppa available for Ubuntu, but
> a
> nightmare for every other platform, official source tarball doesn't
> include everything to build)
> The same as above for all future dependencies, let's hope the user
> built everything with the right flags etc.
> Export paths for all dependencies
  $ mkdir cyclonedds/build
$ cd cyclonedds/build
$ cmake -DBUILD_TESTING=on ../src
$ cmake --build .
---- /without conan ----

I know the "without conan" doesn't seem like a lot of work, it's just
two extra lines :), but trust me when I say it saves A LOT of time and
effort.

Cheers,
Jeroen

On 2018-11-08 16:37, Jens Reimann wrote:

> Hi Jeroen,
> 
> regarding (3), I would like to understand:
> 
> (a) if it is possible for people to build cyclonedds without having
> access to precompiled dependencies?
> (b) what would be the benefit of having an additional organization?
> (c) As this organization would be part of your project, why can't you
> store those dependencies in your project repository instead?
> 
> Thanks
> 
> Jens
> 
> On Thu, Nov 8, 2018 at 1:57 PM Jeroen Koekkoek <jeroen@xxxxxxxxxxx>
> wrote:
> 
> Hi Kai,
> 
> I too am sorry for taking this long to respond. It's not lack of
> interest, but rather to get an idea first on how to proceed.
> 
> (1) While it's not impossible for cyclonedds to use JIPP, using
> Travis
> and AppVeyor is easier for developers that want to send us pull
> requests
> because they build their sources on the exact same platform using
> the
> exact same build recipes and dependencies.
> 
> (2) We're still looking into this, but we're probably going to fork
> and
> start the process for the CQ soon.
> 
> (3) Build recipes for dependencies. We use Conan.io to manage build
> dependencies for the platforms on which we build. This makes it
> extremely easy for developers and users to simply get pre-compiled
> dependencies by pulling them from Bintray (https://bintray.com/) if
> they're not available on their system. Apart from that we have a
> guarantee that the product is build on the "exact same" platform
> every
> time because even the build dependencies are version controlled.
> I've
> written a bunch of these recipes, so the source for the recipe is
> "owned" by the project already, but it must not (and cannot) be
> stored
> in the cyclonedds repository. Currently we provide them through a
> GitHub
> organization tied to the company I work for (ADLINK), but it would
> be
> better if they're hosted with the project. We're going to be adding
> more
> and more of these recipes in the future as the number of
> dependencies
> grows. Please see https://github.com/atolab/conan-criterion to get
> an
> idea of what such a recipe looks like. I think maintaining them
> under
> our own organization would be best.
> 
> I'll get a bugzilla ticket created, let's continue the discussion
> there
> if there's still doubts wrt the validity of the request.
> 
> Cheers,
> Jeroen
> 
> On 2018-10-31 11:37, Kai Kreuzer wrote:
> 
> Hi Jeroen,
> 
> Sorry for my late reply on this.
> As an outcome of the PMC discussion, I have added a section about
> Github orgs here: https://wiki.eclipse.org/IoT/PMC#Project
> 
> As you can see, there are no general requirements that would allow
> it,
> but decisions have to be taken on a case by case evaluation.
> 
> So please let us again dive into your two arguments, why you are
> requesting such an org:
> 
> (1) In general, the PMC is of the opinion that Eclipse projects
> should
> use the provided build infrastructure (i.e. JIPP). Note that it is
> possible to also use Windows nodes for JIPP. External services such
> as
> Travis should only be a last resort, if it isn't possible to use
> JIPP.
> It would therefore be nice if you could check whether you can do
> the
> builds on JIPP and if this isn't possible to give the concrete
> reasons
> for that.
> 
> (2) As Wayne already stated: Any source code that is added in
> Eclipse
> project repositories IS source code of the Eclipse project. So you
> cannot maintain a fork (as part of your project) and continue to
> claim
> that it is merely a dependency of your project. The code would
> require
> to go through a full CQ as a code contribution to Eclipse. In any
> case,
> this should not require a dedicated Github org, but could be done
> as
> a
> sub-project in its own repo under the eclipse org.
> 
> Best regards,
> Kai
> 
> On 30. Oct 2018, at 15:18, Jeroen Koekkoek <jeroen@xxxxxxxxxxx>
> wrote:
> 
> Hi All,
> 
> Just curious what the outcome of the discussion regarding TLOrg's
> is.
> Perhaps I can read about it somewhere or a short summary with
> requirements etc can be given?
> 
> Thanks in advance.
> 
> Cheers,
> Jeroen
> 
> On 2018-10-23 12:54, Wayne Beaton wrote:
> 
> If you want to keep content under the project's control, it needs
> to
> become project code. The first step to do that is to convince the
> PMC
> that it makes sense to do so (i.e. convince them that forking is
> desirable and in the best interests of the project and the Eclipse
> community). Then you need to engage the IP Team to get their review
> and
> approval.
> HTH,
> Wayne
> On Mon, Oct 22, 2018 at 6:27 PM Jeroen Koekkoek
> <jeroen@xxxxxxxxxxx>
> wrote:
> Hi Kai,
> Well we need it primarily for our own Conan recipes (build
> dependency
> build recipes), currently six or so, and faster Travis and AppVeyor
> builds. The recipes are all written by me btw, so no forking
> involved
> there.
> That being said, and this just out of curiosity and trying to
> understand
> the reasons, mcpp is very likely to become a dependency for
> cyclonedds,
> one that we must have to do code generation. mcpp is a fine
> project,
> but
> it's not very actively maintained. I could just write a Conan
> recipe
> and
> keep some patches on the side, or I could fork it under the
> ADLINK-IST
> GitHub organization, but it all boils down to the same thing
> really.
> What's wrong with keeping a dependency directly under the projects
> control? Keeping some level of control over it is actually why I
> thought
> it would be a good idea.
> Cheers,
> Jeroen
> On 2018-10-22 21:04, Kai Kreuzer wrote:
> Hi Jeroen,
> Please wait with creating an according Bugzilla ticket - while it
> is
> in
> general technically possible, we would like to discuss this within
> the
> PMC (which is together at ECE this week).
> Also note that a TLOrg won't allow you to add a (2) forked
> sourceforge
> project, so this actually won't help you much (EMO, correct me, if
> I
> am
> wrong).
> Cheers,
> Kai
> Am 22.10.2018 um 18:12 schrieb Jeroen Koekkoek
> <jeroen@xxxxxxxxxxx>:
> Hi Wayne,
> Never mind. I saw a GitHub Organization request for a different
> project, so I know what to do now. Thanks for your help.
> Best regards,
> Jeroen
> P.S.
> Should anyone find this thread in search of the same information,
> here's an example of a BugZilla ticket requesting a GitHub
> Organization
> for a project: https://bugs.eclipse.org/bugs/show_bug.cgi?id=539829
> On 2018-10-22 17:45, Jeroen Koekkoek wrote:
> Hi Wayne,
> I take it you mean requesting another repository under the Eclipse
> organization? I can't find any bugs regarding the promotion to to a
> top-level GitHub project?
> Thanks in advance.
> Regards,
> Jeroen
> On 2018-10-22 16:50, Wayne Beaton wrote: We added this sort of
> support
> recently. Open a bug against Community/GitHub to ask the webmaster
> for
> assistance.
> Wayne
> On Mon, Oct 22, 2018, 14:29 Kai Kreuzer, <kai@xxxxxxxxxxx> wrote:
> Hi Jeroen,
> I very much doubt that this is possible. Afaik, ALL Eclipse
> projects
> are under the eclipse github org and that's mandatory. For a
> definitive
> answer on this, you might want to contact EMO.
> Note that it is possible to request additional repositories for
> your
> sub projects / components, though (see e.g.
> https://github.com/eclipse/smarthome-packaging-sample, which
> belongs
> to
> the SmartHome project, where the main repo is
> https://github.com/eclipse/smarthome) - simply create a Bugzilla
> issue
> for it and the webmasters will provision it for you.
> Regards,
> Kai
> Am 22.10.2018 um 12:04 schrieb Jeroen Koekkoek
> <jeroen@xxxxxxxxxxx>:
> Hi All,
> I've got a question regarding the possibility of making cyclonedds
> a
> top-level GitHub project. I'm not sure if this is the right list to
> ask
> that question, if it isn't, please let me know the right list. If
> it
> is, and I'm looking at the problem in the wrong way, please let me
> know
> too. It's just that making it a top-level project seems like the
> best
> solution.
> There's two reasons for me to want to promote it to a top-level
> GitHub
> project.
> 1. Faster Travis and AppVeyor builds. Right now builds for pull
> requests take a long time and that'll only get worse when more
> projects
> are going to join.
> 2. Dependencies. We're planning on implementing a better IDL
> compiler
> to get quicker build and drop the Java dependency. Because we're
> looking to implement support for more language bindings, now seems
> like
> the right time to do that. Now, the IDL compiler will need a
> preprocessor. We've more-or-less decided to go with mcpp
> (http://mcpp.sourceforge.net/). The product itself is hosted on
> SourceForge, which is a little slow and code is still hosted in
> svn.
> The biggest problem however is that the original author isn't doing
> any
> work on the project anymore and nobody can accept patches etc. For
> that
> reason we want to "fork" it (svn import on GitHub) to fix some
> small
> bugs etc. In my opinion hosting the project under a top-level
> cyclonedds GitHub project is the best place. That way it's neatly
> separated from the cyclonedds code while all members/privileges etc
> can
> be managed by the project leads and committers.
> Please let me know if it's possible or if there are better ways to
> go
> about this.
> Best regards,
> Jeroen Koekkoek
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/iot-pmc
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/iot-pmc
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/iot-pmc
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/iot-pmc
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/iot-pmc
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/iot-pmc
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/iot-pmc --
> Wayne Beaton
> Director of Open Source Projects | Eclipse Foundation, Inc. Meet us
> at
> EclipseCon Europe 2018: LUDWIGSBURG, OCTOBER 23 - 25
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/iot-pmc
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe
> from this list, visit
> https://www.eclipse.org/mailman/listinfo/iot-pmc
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe
> from this list, visit
> https://www.eclipse.org/mailman/listinfo/iot-pmc
> _______________________________________________
> iot-pmc mailing list
> iot-pmc@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/iot-pmc

--

Jens Reimann
Senior Software Engineer / EMEA ENG Middleware
Werner-von-Siemens-Ring 14
85630 Grasbrunn
Germany
phone: +49 89 2050 71286
_____________________________________________________________________________

Red Hat GmbH, www.de.redhat.com,
Registered seat: Grasbrunn, Commercial register: Amtsgericht
Muenchen,
HRB 153243,
Managing Directors: Paul Argiry, Charles Cachera, Michael Cunningham,
Michael O'Neill
_______________________________________________
iot-pmc mailing list
iot-pmc@xxxxxxxxxxx
To change your delivery options, retrieve your password, or
unsubscribe
from this list, visit
https://www.eclipse.org/mailman/listinfo/iot-pmc
--

Jens Reimann
Senior Software Engineer / EMEA ENG Middleware
Werner-von-Siemens-Ring 14
85630 Grasbrunn
Germany
phone: +49 89 2050 71286
_____________________________________________________________________________

Red Hat GmbH, www.de.redhat.com,
Registered seat: Grasbrunn, Commercial register: Amtsgericht Muenchen,
HRB 153243,
Managing Directors: Paul Argiry, Charles Cachera, Michael Cunningham,
Michael O'Neill _______________________________________________
iot-pmc mailing list
iot-pmc@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://www.eclipse.org/mailman/listinfo/iot-pmc
_______________________________________________
iot-pmc mailing list
iot-pmc@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://www.eclipse.org/mailman/listinfo/iot-pmc


-- 
Jens Reimann
Senior Software Engineer / EMEA ENG Middleware
Werner-von-Siemens-Ring 14
85630 Grasbrunn
Germany
phone: +49 89 2050 71286
_____________________________________________________________________________

Red Hat GmbH, www.de.redhat.com,
Registered seat: Grasbrunn, Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Paul Argiry, Charles Cachera, Michael Cunningham, Michael O'Neill
_______________________________________________
iot-pmc mailing list
iot-pmc@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/iot-pmc


Back to the top