I could also help with reference implementation (be it Go, Java, Scala/Akka
or Python - i prefer Go as large part of our infrastructure is written in
Go).

In my opinion, externalizing client libraries is good way to go - leave
Mesos as core C++ project and move Java and Python clients to separate
repos - i think it will also motivate more people to contribute (especially
those scared with C++ code :)).
For the C++ part - Mesos is actually the first project that really
motivates me to get my rusty C++ skills up to date :).

I think there must be some coordination from Mesos core team as ideally
there should be one client API for every most used/important language that
is kept up to date and its core contributors should be aware about further
Mesos directions/changes - it will need support especially in the beginning.

I will try to be awake for community sync - but the time is brutal - for me
it is 1 am CET :(.



2015-09-03 21:17 GMT+02:00 Steven Schlansker <[email protected]>:

> As a Mesos user who wants to be more of a contributor but hates C++, I
> could volunteer to help work with the Java reference implementation.
>
> I totally understand wanting to keep the various client libraries out of
> the Mesos release cycle and somewhat independent.  Maybe a model where the
> clients are not "officially" part of the Mesos project, but are instead
> simply blessed as being the reference implementations, makes the most sense
> to start with.  We can always merge them in later if a compelling reason
> shows up.
>
> On Sep 2, 2015, at 12:01 PM, Artem Harutyunyan <[email protected]>
> wrote:
>
> > Thanks for bringing this up, Vinod!
> >
> > We have to make sure that there are reference library implementations
> for at least Python, Java, and Go. They may end up being owned and
> maintained by the community, but I feel that Mesos developers should at
> least kickstart the process and incubate those libraries. Once the initial
> implementations of those libraries are in place we should also make sure to
> have reference usage examples for them (like we do right now with Rendler).
> >
> > In any case, this is a very important topic so I will go ahead and add
> it to tomorrow's community sync agenda.
> >
> > Cheers,
> > Artem.
> >
> > On Wed, Sep 2, 2015 at 11:49 AM, Vinod Kone <[email protected]>
> wrote:
> > Hi folks,
> >
> > Now that the v1 scheduler HTTP API (beta) is on the verge of being
> > released, I wanted to open up the discussion about client libraries for
> the
> > API. Mainly around support and home for the libs.
> >
> > One idea is that, going forward, the only supported client library would
> be
> > C++ library which will live in the mesos repo. All other client libraries
> > (java, python, go etc) will not be officially supported but linked to
> from
> > our webpage/docs.
> >
> > Pros:
> > --> The PMC/committers won't have the burden to maintain client libraries
> > in languages we don't have expertise in.
> > --> Gives more control (reviews, releases) and attribution (could live in
> > the author's org's or personal repo) to 3rd party client library authors
> >
> > Cons:
> > --> Might be a step backward because we would be officially dropping
> > support for Java and Python. This is probably a good thing?
> > --> No quality control of the libraries by the PMC. Need co-ordination
> with
> > library authors to incorporate API changes. Could lead to bad user
> > experience.
> >
> > I've taken a quick look at what other major projects do and it looks like
> > most of them officially support a few api libs and then link to 3rdparty
> > libs.
> >
> > Docker
> > <
> https://docs.docker.com/reference/api/remote_api_client_libraries/#docker-remote-api-client-libraries
> >:
> > No official library? Links to 3rd party libs.
> >
> > GitHub <https://developer.github.com/libraries/>: Official support for
> > Ruby, .Net, Obj-C. Links to 3rd party libs.
> >
> > Google <https://developers.google.com/discovery/libraries?hl=en>: All
> > official libraries? No links to 3rd party libs?
> >
> > K8S <http://kubernetes.io/v1.0/docs/devel/client-libraries.html>:
> Official
> > support for Go. Links to 3rd party libs.
> >
> > Twitter <https://dev.twitter.com/overview/api/twitter-libraries>:
> Official
> > support for Java. Links to 3rd party libs.
> >
> >
> > Is this the way we want to go? This does mean we won't need a
> mesos/commons
> > repo because the project would be not be officially supporting 3rd party
> > libs. The supported C++ libs will live in the mesos repo.
> >
> > Thoughts?
> >
>
>

Reply via email to