You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by yukon <yu...@apache.org> on 2017/02/23 07:52:23 UTC

[DISCUSS] How to handle sub projects of RocketMQ

Dear mentors,

As we know, RocketMQ has a GitHub organization off Apache[1], and there are
three mini projects are currently going through rapid iterative.

rocketmq-console-ng will provide a ops dashboard for RocketMQ, rocketmq-jms
will provide a new client to support JMS 2, while rocketmq-flume-ng will
integrate RocketMQ with Apache Flume.

Except these three projects, we will unite the power of the community fully
to develop more sub projects in the future, which can integrate RocketMQ
with Ignite, Flink, DistributedLog, and so on.

So we wonder where these projects should be placed? We found some
alternative ways after doing a survey:

1. Add a folder in apache/incubator-rocketmq/ to place these projects, like
 incubator-rocketmq/modules/rocketmq-console-ng. But these projects'
releasing is independent, even some projects' releasing should consider the
integrated project, like rocketmq-flume's releasing should consider the
Apache Flume's release schedules.

2. Create separate apache repos, but this way may produce overmuch repos of
RocketMQ, and I'm not sure this is allowed.

3. Keep these projects in[1], provide links and introductions in README or
our rocketmq-site.

We want to know mentors' advice, and we would appreciate your help.

[1]. https://github.com/rocketmq

Regards,
yukon

Re: [DISCUSS] How to handle sub projects of RocketMQ

Posted by Netroby <hu...@gmail.com>.
As we can see large scale project. for example : kubernetes. docker
They have many sub project. in their own repository. and release in
different time line.
Appreciate your time.
----------------------------
Netroby


2017-02-25 1:19 GMT+08:00 Bruce Snyder <br...@gmail.com>:
> When it comes to neatly organizing each sub-project, you must consider if
> you will release all sub-projects at once or individually. Also, consider
> whether or not these are extensions to RocketMQ or external (as in not part
> of or extensions to RocketMQ) in some way. Also consider how users will
> consume these sub-projects (from Maven, from Gradle, etc.) into their own
> applications. You can always use git sub-modules (
> https://git-scm.com/book/en/v2/Git-Tools-Submodules) to keep things in a
> separate git repo for management purposes and pull them into another repo
> this way.
>
> Bruce
>
> On Fri, Feb 24, 2017 at 7:16 AM, Von Gosling <vo...@apache.org> wrote:
>
>> Hi,
>>
>> Does it matter if we create too many projects in apache. In our plan, we
>> will contribute the integration project in the future milestones,such as
>> storm, spark, flume, flink, ignite ,multi-language SDK etc. These projects
>> are not fully come from Apache RocketMQ team. May be,the majority come from
>> the community contributor :-)
>>
>> > 在 2017年2月24日,12:00,Justin Mclean <ju...@classsoftware.com> 写道:
>> >
>> > Hi,
>> >
>> >> +1, one repo for all external projects in Apache Group. it can reduce
>> management and delivery cost. Also let it under Apache and Apache RocketMQ
>> umbrella :-)
>> >
>> > Just remember that unlike SVN checking out a subtree in Git can be
>> painful (look up sparse checkouts or branch filters).
>> >
>> > Justin
>>
>>
>
>
> --
> perl -e 'print
> unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*" );'
>
> ActiveMQ in Action: http://bit.ly/2je6cQ
> Blog: http://bsnyder.org/ <http://bruceblog.org/>
> Twitter: http://twitter.com/brucesnyder

Re: [DISCUSS] How to handle sub projects of RocketMQ

Posted by Bruce Snyder <br...@gmail.com>.
When it comes to neatly organizing each sub-project, you must consider if
you will release all sub-projects at once or individually. Also, consider
whether or not these are extensions to RocketMQ or external (as in not part
of or extensions to RocketMQ) in some way. Also consider how users will
consume these sub-projects (from Maven, from Gradle, etc.) into their own
applications. You can always use git sub-modules (
https://git-scm.com/book/en/v2/Git-Tools-Submodules) to keep things in a
separate git repo for management purposes and pull them into another repo
this way.

Bruce

On Fri, Feb 24, 2017 at 7:16 AM, Von Gosling <vo...@apache.org> wrote:

> Hi,
>
> Does it matter if we create too many projects in apache. In our plan, we
> will contribute the integration project in the future milestones,such as
> storm, spark, flume, flink, ignite ,multi-language SDK etc. These projects
> are not fully come from Apache RocketMQ team. May be,the majority come from
> the community contributor :-)
>
> > 在 2017年2月24日,12:00,Justin Mclean <ju...@classsoftware.com> 写道:
> >
> > Hi,
> >
> >> +1, one repo for all external projects in Apache Group. it can reduce
> management and delivery cost. Also let it under Apache and Apache RocketMQ
> umbrella :-)
> >
> > Just remember that unlike SVN checking out a subtree in Git can be
> painful (look up sparse checkouts or branch filters).
> >
> > Justin
>
>


-- 
perl -e 'print
unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*" );'

ActiveMQ in Action: http://bit.ly/2je6cQ
Blog: http://bsnyder.org/ <http://bruceblog.org/>
Twitter: http://twitter.com/brucesnyder

Re: [DISCUSS] How to handle sub projects of RocketMQ

Posted by Von Gosling <vo...@apache.org>.
Hi,

Does it matter if we create too many projects in apache. In our plan, we will contribute the integration project in the future milestones,such as storm, spark, flume, flink, ignite ,multi-language SDK etc. These projects are not fully come from Apache RocketMQ team. May be,the majority come from the community contributor :-)

> 在 2017年2月24日,12:00,Justin Mclean <ju...@classsoftware.com> 写道:
> 
> Hi,
> 
>> +1, one repo for all external projects in Apache Group. it can reduce management and delivery cost. Also let it under Apache and Apache RocketMQ umbrella :-)
> 
> Just remember that unlike SVN checking out a subtree in Git can be painful (look up sparse checkouts or branch filters).
> 
> Justin


Re: [DISCUSS] How to handle sub projects of RocketMQ

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

> +1, one repo for all external projects in Apache Group. it can reduce management and delivery cost. Also let it under Apache and Apache RocketMQ umbrella :-)

Just remember that unlike SVN checking out a subtree in Git can be painful (look up sparse checkouts or branch filters).

Justin

Re: [DISCUSS] How to handle sub projects of RocketMQ

Posted by Willem Jiang <wi...@gmail.com>.
+1 for managing the components in the same repo if we just integration
those projects with RocketMQ.

Willem Jiang

Blog: http://willemjiang.blogspot.com (English)
          http://jnn.iteye.com  (Chinese)
Twitter: willemjiang
Weibo: 姜宁willem

On Fri, Feb 24, 2017 at 11:33 AM, Von Gosling <vo...@apache.org> wrote:

> +1, one repo for all external projects in Apache Group. it can reduce
> management and delivery cost. Also let it under Apache and Apache RocketMQ
> umbrella :-)
>
>
> > 在 2017年2月24日,11:23,yukon <yu...@apache.org> 写道:
> >
> > Hi,
> >
> > How about creating a git repo named "incubator-rocketmq-externals", all
> > sub-projects assembled in this repo.
> >
> > IMO, it's a a manageable way, users can take a quick look at ecological
> map
> > of RocketMQ and find what they want quickly.
> >
> > Regards,
> > yukon
> >
> > On Thu, Feb 23, 2017 at 10:54 PM, Bruce Snyder <br...@gmail.com>
> > wrote:
> >
> >> All projects should have a separate git repo to keep things as separate
> as
> >> possible. This will also help to simply the delivery of each one
> >> independently.
> >>
> >> If, at some point, you want to provide some sort of distribution that
> >> includes multiple projects, that's not a problem. But the source for
> each
> >> individual project should remain in separate git repos but be included
> in
> >> the overall Apache RocketMQ project.
> >>
> >> It's fine to keep all sub-projects' wiki and web related stuff within
> the
> >> RocketMQ space. It just needs to be clear which content is a
> sub-project.
> >>
> >> Make sense?
> >>
> >> Bruce
> >>
> >> On Thu, Feb 23, 2017 at 12:52 AM, yukon <yu...@apache.org> wrote:
> >>
> >>> Dear mentors,
> >>>
> >>> As we know, RocketMQ has a GitHub organization off Apache[1], and there
> >> are
> >>> three mini projects are currently going through rapid iterative.
> >>>
> >>> rocketmq-console-ng will provide a ops dashboard for RocketMQ,
> >> rocketmq-jms
> >>> will provide a new client to support JMS 2, while rocketmq-flume-ng
> will
> >>> integrate RocketMQ with Apache Flume.
> >>>
> >>> Except these three projects, we will unite the power of the community
> >> fully
> >>> to develop more sub projects in the future, which can integrate
> RocketMQ
> >>> with Ignite, Flink, DistributedLog, and so on.
> >>>
> >>> So we wonder where these projects should be placed? We found some
> >>> alternative ways after doing a survey:
> >>>
> >>> 1. Add a folder in apache/incubator-rocketmq/ to place these projects,
> >> like
> >>> incubator-rocketmq/modules/rocketmq-console-ng. But these projects'
> >>> releasing is independent, even some projects' releasing should consider
> >> the
> >>> integrated project, like rocketmq-flume's releasing should consider the
> >>> Apache Flume's release schedules.
> >>>
> >>> 2. Create separate apache repos, but this way may produce overmuch
> repos
> >> of
> >>> RocketMQ, and I'm not sure this is allowed.
> >>>
> >>> 3. Keep these projects in[1], provide links and introductions in README
> >> or
> >>> our rocketmq-site.
> >>>
> >>> We want to know mentors' advice, and we would appreciate your help.
> >>>
> >>> [1]. https://github.com/rocketmq
> >>>
> >>> Regards,
> >>> yukon
> >>>
> >>
> >>
> >>
> >> --
> >> perl -e 'print
> >> unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
> );'
> >>
> >> ActiveMQ in Action: http://bit.ly/2je6cQ
> >> Blog: http://bsnyder.org/ <http://bruceblog.org/>
> >> Twitter: http://twitter.com/brucesnyder
> >>
>
>

Re: [DISCUSS] How to handle sub projects of RocketMQ

Posted by Von Gosling <vo...@apache.org>.
+1, one repo for all external projects in Apache Group. it can reduce management and delivery cost. Also let it under Apache and Apache RocketMQ umbrella :-)


> 在 2017年2月24日,11:23,yukon <yu...@apache.org> 写道:
> 
> Hi,
> 
> How about creating a git repo named "incubator-rocketmq-externals", all
> sub-projects assembled in this repo.
> 
> IMO, it's a a manageable way, users can take a quick look at ecological map
> of RocketMQ and find what they want quickly.
> 
> Regards,
> yukon
> 
> On Thu, Feb 23, 2017 at 10:54 PM, Bruce Snyder <br...@gmail.com>
> wrote:
> 
>> All projects should have a separate git repo to keep things as separate as
>> possible. This will also help to simply the delivery of each one
>> independently.
>> 
>> If, at some point, you want to provide some sort of distribution that
>> includes multiple projects, that's not a problem. But the source for each
>> individual project should remain in separate git repos but be included in
>> the overall Apache RocketMQ project.
>> 
>> It's fine to keep all sub-projects' wiki and web related stuff within the
>> RocketMQ space. It just needs to be clear which content is a sub-project.
>> 
>> Make sense?
>> 
>> Bruce
>> 
>> On Thu, Feb 23, 2017 at 12:52 AM, yukon <yu...@apache.org> wrote:
>> 
>>> Dear mentors,
>>> 
>>> As we know, RocketMQ has a GitHub organization off Apache[1], and there
>> are
>>> three mini projects are currently going through rapid iterative.
>>> 
>>> rocketmq-console-ng will provide a ops dashboard for RocketMQ,
>> rocketmq-jms
>>> will provide a new client to support JMS 2, while rocketmq-flume-ng will
>>> integrate RocketMQ with Apache Flume.
>>> 
>>> Except these three projects, we will unite the power of the community
>> fully
>>> to develop more sub projects in the future, which can integrate RocketMQ
>>> with Ignite, Flink, DistributedLog, and so on.
>>> 
>>> So we wonder where these projects should be placed? We found some
>>> alternative ways after doing a survey:
>>> 
>>> 1. Add a folder in apache/incubator-rocketmq/ to place these projects,
>> like
>>> incubator-rocketmq/modules/rocketmq-console-ng. But these projects'
>>> releasing is independent, even some projects' releasing should consider
>> the
>>> integrated project, like rocketmq-flume's releasing should consider the
>>> Apache Flume's release schedules.
>>> 
>>> 2. Create separate apache repos, but this way may produce overmuch repos
>> of
>>> RocketMQ, and I'm not sure this is allowed.
>>> 
>>> 3. Keep these projects in[1], provide links and introductions in README
>> or
>>> our rocketmq-site.
>>> 
>>> We want to know mentors' advice, and we would appreciate your help.
>>> 
>>> [1]. https://github.com/rocketmq
>>> 
>>> Regards,
>>> yukon
>>> 
>> 
>> 
>> 
>> --
>> perl -e 'print
>> unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*" );'
>> 
>> ActiveMQ in Action: http://bit.ly/2je6cQ
>> Blog: http://bsnyder.org/ <http://bruceblog.org/>
>> Twitter: http://twitter.com/brucesnyder
>> 


Re: [DISCUSS] How to handle sub projects of RocketMQ

Posted by yukon <yu...@apache.org>.
Hi,

How about creating a git repo named "incubator-rocketmq-externals", all
sub-projects assembled in this repo.

IMO, it's a a manageable way, users can take a quick look at ecological map
of RocketMQ and find what they want quickly.

Regards,
yukon

On Thu, Feb 23, 2017 at 10:54 PM, Bruce Snyder <br...@gmail.com>
wrote:

> All projects should have a separate git repo to keep things as separate as
> possible. This will also help to simply the delivery of each one
> independently.
>
> If, at some point, you want to provide some sort of distribution that
> includes multiple projects, that's not a problem. But the source for each
> individual project should remain in separate git repos but be included in
> the overall Apache RocketMQ project.
>
> It's fine to keep all sub-projects' wiki and web related stuff within the
> RocketMQ space. It just needs to be clear which content is a sub-project.
>
> Make sense?
>
> Bruce
>
> On Thu, Feb 23, 2017 at 12:52 AM, yukon <yu...@apache.org> wrote:
>
> > Dear mentors,
> >
> > As we know, RocketMQ has a GitHub organization off Apache[1], and there
> are
> > three mini projects are currently going through rapid iterative.
> >
> > rocketmq-console-ng will provide a ops dashboard for RocketMQ,
> rocketmq-jms
> > will provide a new client to support JMS 2, while rocketmq-flume-ng will
> > integrate RocketMQ with Apache Flume.
> >
> > Except these three projects, we will unite the power of the community
> fully
> > to develop more sub projects in the future, which can integrate RocketMQ
> > with Ignite, Flink, DistributedLog, and so on.
> >
> > So we wonder where these projects should be placed? We found some
> > alternative ways after doing a survey:
> >
> > 1. Add a folder in apache/incubator-rocketmq/ to place these projects,
> like
> >  incubator-rocketmq/modules/rocketmq-console-ng. But these projects'
> > releasing is independent, even some projects' releasing should consider
> the
> > integrated project, like rocketmq-flume's releasing should consider the
> > Apache Flume's release schedules.
> >
> > 2. Create separate apache repos, but this way may produce overmuch repos
> of
> > RocketMQ, and I'm not sure this is allowed.
> >
> > 3. Keep these projects in[1], provide links and introductions in README
> or
> > our rocketmq-site.
> >
> > We want to know mentors' advice, and we would appreciate your help.
> >
> > [1]. https://github.com/rocketmq
> >
> > Regards,
> > yukon
> >
>
>
>
> --
> perl -e 'print
> unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*" );'
>
> ActiveMQ in Action: http://bit.ly/2je6cQ
> Blog: http://bsnyder.org/ <http://bruceblog.org/>
> Twitter: http://twitter.com/brucesnyder
>

Re: [DISCUSS] How to handle sub projects of RocketMQ

Posted by Bruce Snyder <br...@gmail.com>.
All projects should have a separate git repo to keep things as separate as
possible. This will also help to simply the delivery of each one
independently.

If, at some point, you want to provide some sort of distribution that
includes multiple projects, that's not a problem. But the source for each
individual project should remain in separate git repos but be included in
the overall Apache RocketMQ project.

It's fine to keep all sub-projects' wiki and web related stuff within the
RocketMQ space. It just needs to be clear which content is a sub-project.

Make sense?

Bruce

On Thu, Feb 23, 2017 at 12:52 AM, yukon <yu...@apache.org> wrote:

> Dear mentors,
>
> As we know, RocketMQ has a GitHub organization off Apache[1], and there are
> three mini projects are currently going through rapid iterative.
>
> rocketmq-console-ng will provide a ops dashboard for RocketMQ, rocketmq-jms
> will provide a new client to support JMS 2, while rocketmq-flume-ng will
> integrate RocketMQ with Apache Flume.
>
> Except these three projects, we will unite the power of the community fully
> to develop more sub projects in the future, which can integrate RocketMQ
> with Ignite, Flink, DistributedLog, and so on.
>
> So we wonder where these projects should be placed? We found some
> alternative ways after doing a survey:
>
> 1. Add a folder in apache/incubator-rocketmq/ to place these projects, like
>  incubator-rocketmq/modules/rocketmq-console-ng. But these projects'
> releasing is independent, even some projects' releasing should consider the
> integrated project, like rocketmq-flume's releasing should consider the
> Apache Flume's release schedules.
>
> 2. Create separate apache repos, but this way may produce overmuch repos of
> RocketMQ, and I'm not sure this is allowed.
>
> 3. Keep these projects in[1], provide links and introductions in README or
> our rocketmq-site.
>
> We want to know mentors' advice, and we would appreciate your help.
>
> [1]. https://github.com/rocketmq
>
> Regards,
> yukon
>



-- 
perl -e 'print
unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*" );'

ActiveMQ in Action: http://bit.ly/2je6cQ
Blog: http://bsnyder.org/ <http://bruceblog.org/>
Twitter: http://twitter.com/brucesnyder

Re: [DISCUSS] How to handle sub projects of RocketMQ

Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,

> 2. Create separate apache repos, but this way may produce overmuch repos of
> RocketMQ, and I'm not sure this is allowed.

It’s fine to have multiple repos.

> 3. Keep these projects in[1], provide links and introductions in README or
> our rocketmq-site.

IMO -1 to that  as it fragments the community and may cause some potential issues down the track around licensing, IP and ICLAs for instance.

Thanks,
Justin