Skip to content

Commit

Permalink
add FISHMAN announcement and README and NEWS according to announcemen…
Browse files Browse the repository at this point in the history
…t from masatake/draft-ANNOUNCE

Signed-off-by: Reza Jelveh <reza.jelveh@tuhh.de>
  • Loading branch information
fishman committed Jun 5, 2014
1 parent 0404e80 commit 9a4ca31
Show file tree
Hide file tree
Showing 3 changed files with 174 additions and 0 deletions.
174 changes: 174 additions & 0 deletions FISHMAN
@@ -0,0 +1,174 @@
Do you think it is acceptable to use this list, ctags-devel
to use discuss the code at unofficial branch?

About FISHMAN fork of ctags
======================================================

Masatake YAMATO and Reza Jelveh

I(Masatake YAMATO) am submitting from redhat.com address. However,
this is just my personal thinking; this message doesn't reflect Fedora
or somehting related to the company I'm working for.

This is a message for those who are interested in improving
ctags. Please, visit

https://github.com/fishman/ctags

if you are.

Background
------------------------------------------------------

It seems that the original Exuberant Ctags project hosted at
sourceforge.net is suspended. Darren Hiebert , the maintainer has been
busy in reallife. See [1] the message from the maintainer.

As the result, patches submitted to the patch tracking system and
mailing list run at sourceforge.net have not been merged or a long
time. Furthermore, some interesting forks were started at github and,
maybe in other places. Transforming ctags to a library is one of
them[4].

I'm looking for the way to merge these results of efforts into one so
that I can use the best ctags on the universe. After short research I
found FISHMAN fork hosted at github is actively developed and popular
at the site. I decided to contribute to FISHMAN till the original
project is getting active again. Actually a patch that was submmited
to the original project but not reviewed yet was merged into FISHMAN
fork[2][3].

I am not sure if FISHMAN fork is the best place to merge the
unofficial fruit. However, I need somewhere people who want alive
ctags implementation can work together. This message is a proposal to
use FISHMAN fork as such place.

If you are one of such people, please, continue to read this document
and consider to work on FISHMAN fork.

Consideration
------------------------------------------------------

* Size of community, especially the number of code reviewer

One of the problem working on FISHMAN fork is that there is few code
reviewer. So I would like to use the original ctags-devel list for
discussion the development at FISHMAN fork. We have to make sufre if
there is any objection or not.

* Code merging(type aspect)

Ignoring the diff size, we can categorize existing the patches into
4 types.

1. bug fix of a language parser
2. enhancement of a language parser
3. bug fix of ctags common part
4. enhancement of ctags common part

We don't have much resource; and don't have conviction the original
language maintainers listed at MAINTAINERS approve this fork
efforts. If we can find a language maintainer, we can ask the person
everything about the language. However, if we cannot find such good
person, reviewing the patch takes high cost. So about category 1 and
2, we should accept the patch only if a test case for the patch is
prepared. Preparing such test cases may not be difficult(^1). It is
nice if a link to a reference of the target language is given as a
comment in the patch or changelog.

About 3, 4. I think we should not depend only on test cases. Much
more code reviews are needed. We should merge the patch carefully.

^1 I designed and implemented a unit test facility. See Units/README
in fishman tree.

* Code merging (origin aspect)

We can categorize the patches by its origin.

+ pull requests at github

This happens in github. Ideally speaking, it should be submitted
to ctags-devel list so we can expect getting much more
reviewers. However, at least for a while we will handle it using
the facilities of github.

+ sourceforge.net

Many patches are submitted. We can cherry-pick them. If one of us
can be a member of the original project, we can use bug tracking
or patch tracking system at sourceforge.net. It is nice because we
can manage the status of submmited patch well. However, we are not
the member. So when cherry-picking, we should record its origin to
somewhere carefully. TRACKING file is introduced for such prupose.

These patches are submitted to the sourceforge.net, a public
space. So I think we don't have to care about license issue.

+ patches in GNU/Linux distributions

In some GNU/Linux distribution, it has its own bug tracking
system. Some bugs may be reported to the bug tracking system. I
guess some of them are fixed in the distribution own patches. In
such case, we should contact the package maintainer of ctags to
discuss how can we merge existing patches. I'll contact the person
at Fedora.

+ other forks

I'd like to merge them. However, it is the next step.
recruitingsource[5] is one way. Of course, contributors are
welcome.

* Code merging (platform aspect)

My(Masatake YAMATO) experiences are mostly on GNU/Linux. I don't
know other platform. Seriously contributors are needed.

Workflow
------------------------------------------------------
TO BE WRITTEN.

If any conflict occurs Jelveh, the founder of the fork is the right
person to make a decision.


Next action
------------------------------------------------------
* Posting this message to ctags-devel

* Pulling patches in Exuberant subversion tree

Most patches are pulled in. See TRACKING in fishman tree.

* Discussing "Workflow"

* Fixing the errors reported by "make test"

* Documentation about this fork

+ Rename current README to README.exuberant.

+ Rename current NEWS to NEWS.exuberant.

+ preparing fishman tree own README. This document can be used as base.

+ preparing fishman tree own NEWS, which explains the difference from the
original official source tree.

* Making initial release!

The name of tarball may need "fishman-" prefix
or "-fishman" suffix to be distinguished from
a tar ball from Exuberant tree.

Reference
------------------------------------------------------

[0] https://github.com/fishman/ctags
[1] http://sourceforge.net/p/ctags/mailman/message/31524274/
[2] http://sourceforge.net/p/ctags/bugs/341/
[3] https://github.com/fishman/ctags/commit/30b1c6f7a4bff6a1f88bcdf9eac81073056cb58b
[4] https://github.com/geany/geany/tree/master/tagmanager/ctags
[5] http://people.redhat.com/yamato/talks/recruitingsource.pdf
[6] http://stackoverflow.com/questions/2348911/someone-sent-me-to-pull-his-changes-however-i-am-not-able-to-add-my-name-to-th
File renamed without changes.
File renamed without changes.

0 comments on commit 9a4ca31

Please sign in to comment.