New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Congratulations and a drop of bitterness #11

Open
asciidoc3 opened this Issue Jun 7, 2018 · 10 comments

Comments

Projects
None yet
5 participants
@asciidoc3
Copy link

asciidoc3 commented Jun 7, 2018

Congratulations to @MasterOdin (and of course to all the other contributors) on this work! I know what it means to struggle with the asciidoc-code :-)
But there is a drop of bitterness, isn't it? Now we have two (I guess - more or less - 95% terminated) ports, asciidoc-py3 and github.com/asciidoc3/asciidoc3 ...
We should try to merge somehow?

@MasterOdin

This comment has been minimized.

Copy link
Contributor

MasterOdin commented Jun 7, 2018

@Elronnd deserves most of the praise, he did most of the heavy lifting here.

@asciidoc3

This comment has been minimized.

Copy link

asciidoc3 commented Jun 7, 2018

So congratulations also to you, @Elronnd!

@aerostitch

This comment has been minimized.

Copy link
Contributor

aerostitch commented Oct 7, 2018

@asciidoc3 I would love to see the 2 projects merge somehow.
@elextr @mojavelinux what are the rules for people to enter the asciidoc org?
Would you be willing to let people in to help manage the PR? That would probably help having a more active and engaged community. Having 2 separate projects for just generating asciidoc on python3 seems already 1 too many.

@asciidoc3

This comment has been minimized.

Copy link

asciidoc3 commented Oct 27, 2018

Hi,
yes I have read your post on GitHub about merging already, thanks for taking the initiative.
In deed, there is absolutely no need for two Python3 implementations of AsciiDoc(3).
BTW, if you take a closer look at the two asciidoc(3).py (asciidoc-py3 vs. asciidoc3) with a difftool like kdiff3 you'll see there are not so many differences at all - these two 'branches' could probably merge in a few seconds ... The two most evident things here to mention are 1. asciidoc3 renames asciidoc to asciidoc3 wherever it comes up, and 2. asciidoc3 has the feature to choose input/output encoding. (Defaults of course to utf8 and I think very few people are using this option.) At the moment I'am working on an improved PyPI deployment (Windows?!) and dockerization.
Back to your question:
It is my impression that some members of the 'original asciidoc community' are not interested in Python3/asciidoc anyway. See 'AsciiDoc development is being continued under @asciidoctor' and other statements of that kind. Perhaps there are some commercial relationships in the background I do not know about. And when I released AsciiDoc3 at the first time, somebody searched for a fly in the ointment (ok, AGPLv3 was not an exciting choice), but a little more backing would have been wellcomed.
I have no conditions to work with 'the community'. I just like to do Python3 things with AsciiDoc(3), to test what is possible and what is not.

(this is a duplicate of https://gitlab.com/asciidoc3/asciidoc3/issues/1)

@elextr

This comment has been minimized.

Copy link
Contributor

elextr commented Oct 27, 2018

@aerostitch for the projects to merge all that is needed is for one or more pull requests to be made to add changes from one project to the other and then the from project is deleted.

There are no "rules" for getting merge rights on Asciidoc repos, to date it hasn't come up, but I expect that the usual considerations eg these would apply, it would be offered to people who the current committers felt showed appropriate technical capability and more importantly showed appropriate maturity to work within a cooperative open source environment (don't push directly to the repo, don't merge your own PRs until they are reviewed, don't make changes without prior consultation, etc).

@asciidoc3

but a little more backing would have been wellcomed.

Well as I said in a comment on your original repo, the main lesson is to communicate with others before you present them with a fait accompli. Especially if you want their backing its important to communicate, they can't read your mind and know what you are intending. Creating a separate project without any prior communication (and unfortunately in a way that deleted history and changed the license, two hot buttons as you found) isn't a cooperative move. Hopefully thats lesson learned and we can all move on.

It is my impression that some members of the 'original asciidoc community' are not interested in Python3/asciidoc anyway. See 'AsciiDoc development is being continued under @asciidoctor' and other statements of that kind.

That was simply a statement of fact. For open source projects the action goes where the contributors go. Asciidoc Python has few contributors, and until you and @MasterOdin stepped up to create the Python 3 ports it had a distinct EOL, when Python 2 EOLed, because nobody had contributed a port.

Asciidoctor was created in Ruby to address several use-cases (Github, compilation to JS, etc) which Python could not address. Also it addressed the issue of static TOC for places where running Javascript was not allowed, something that the current Asciidoc Python cannot address due to its inherent streaming conversion design. Asciidoctor is also moving towards toolchainless operation for PDF, removing one of the more difficult areas for users of Asciidoc Python.

Since Asciidoctor addressed use-cases and situations that many contributors were interested in, and that Asciidoc Python didn't address, they naturally contributed to that project, and so thats where the action is.

Perhaps there are some commercial relationships in the background I do not know about.

Well I am not paid by anybody, but even if some contributors are paid by their employers to work on open source projects, thats very common in this day and age. And of course the employers pay them to work on the project that gives them the biggest bang per buck.

I have no conditions to work with 'the community'.

Thats good, all it needs is communication.

I just like to do Python3 things with AsciiDoc(3), to test what is possible and what is not.

Thats fine, so long as its clear to users and packagers that its your own experimental project. Just don't imply it is endorsed by the Asciidoc community yet.

One of the other reasons that the Asciidoc community is annoyed with your separate project is that we don't want a markdown type situation of competing implementations with incompatibilities. Also as a single person it may become difficult for you to support users. That was another of the issues with original Asciidoc, it was mostly one person, and then he retired ...

When there are incompatibilities and competing implementations and/or versions with limited support, all the Asciidoc community unfortunately get tarred with that brush no matter how unfair. So the community is wary of that happening.

But even if you keep asciidoc3 as your personal project, you are of course still welcome to contribute changes upstream.

@mojavelinux

This comment has been minimized.

Copy link
Contributor

mojavelinux commented Oct 27, 2018

Lex stated most of what I was going to say (as is often the case). I'll add some of my personal thoughts on the matter.

@asciidoc3 You're making light of what you did. Objecting to an unauthorized license change is not "searching for a fly in the ointment". It's a serious matter for an open source project. Simply put, you violated the trust of the community. If you want that trust back, you have to earn it. But continuing to dismiss the complaint as trivial doesn't help to restore that trust.

I'm also of the opinion that you're still in violation of copyright. You named your fork asciidoc3 and ripped the branding from the original site for your own. Without agreement from the project leads (Lex, Stuart, and myself), you don't have a right to use that name or branding. You can either rejoin the AsciiDoc Py project or rename your fork and change the branding of the site. If you refuse to do either, I will continue to perceive your fork as damaging the community.

The only official port of AsciiDoc Py to Python 3 is https://github.com/asciidoc/asciidoc-py3. It was done with support from the AsciiDoc Py leadership and by following a procedure that honored the copyright and license and was in the spirit of open source.

Perhaps there are some commercial relationships in the background I do not know about.

This is the kind of statement that erodes trust. You clearly don't understand much about this project and its leadership if you would say something like that. It's only purpose is to spread FUD.

@mojavelinux

This comment has been minimized.

Copy link
Contributor

mojavelinux commented Oct 27, 2018

See 'AsciiDoc development is being continued under @asciidoctor' and other statements of that kind.

Yes, the discussion about the language and how to evolve it is happening in the Asciidoctor project. That's because Asciidoctor is now the dominant implementation. It's not because of some made up dislike for other languages. I'd be happy to see AsciiDoc as evolved by Asciidoctor supported in as many languages as possible. And I'd really like to see a implementation of AsciiDoc in Python from scratch that doesn't have the severe limitations of the AsciiDoc Py codebase (notably the streaming parser / converter and obscure templating language).

@elextr

This comment has been minimized.

Copy link
Contributor

elextr commented Oct 27, 2018

And I'd really like to see a implementation of AsciiDoc in Python from scratch that doesn't have the severe limitations of the AsciiDoc Py codebase (notably the streaming parser / converter and obscure templating language).

+1 There is no technical reason Python cannot be used to make an implementation that creates a parse tree and then converts that to output, but I can't comment on the likely performance.

@asciidoc3

This comment has been minimized.

Copy link

asciidoc3 commented Nov 12, 2018

Hi together,
in the next days I shall start some pull requests to merge 'asciidoc3' into asciidoc-py3. This process will be announced on http://asciidoc3.org and GitLab. In addition I declare asciidoc3 to be my private project with limited resources relating to support and further development.

Two questions left: "... you don't have a right to use that name or branding." I found no registered trademark or brand containing "asciidoc" in the related databases like www.wipo.int and others. Beyond that there exists no kind of "software patent" in the EU and/or Germany. All documents around AsciiDoc3 name AsciiDoc as its precursor - do you really underrate a present-day user not to be able to distinguish between AsciiDoc/Python2 and AsciiDoc3/Python3?
Second: perhaps it's a good idea to cancel the websites asciidoc.org and methods.co.nz/asciidoc/ and bring up an up-to-date site?
BTW: you said, it should be underlined that Asciidoc is just a "markup language definition"; therefore an implementation should be labeled as "asciidoc-py3", "asciidoc-php7", "asciidoc-erlang21" and so on. What about asciidoctor - the proper name is "asciidoc-ruby2", isn't it?

@mojavelinux

This comment has been minimized.

Copy link
Contributor

mojavelinux commented Nov 19, 2018

in the next days I shall start some pull requests to merge 'asciidoc3' into asciidoc-py3

I'm very encouraged to hear you've decided to contribute to the continuation of the AsciiDoc Python codebase that's under this organization. I mean that in the most sincere way possible. I think it's the best outcome for everyone involved.

There is legal precedence as to why you cannot use the name AsciiDoc for a derivative, even if the trademark is not officially registered. IANAL, but I understand that it's covered by copyright law.

But legal aspect aside, it's just not in the community spirit to do what you did. By calling the derivative AsciiDoc3, you have created confusion that it's the 3rd version of AsciiDoc (which it is not), and that it is part of the upstream project (which it also is not). The best way to resolve this would be to fold your changes back into asciidoc-py3 and remove the asciidoc3 website, in which case we would no longer have a problem (and we would have succeeded in creating a predecessor for AsciiDoc Python that runs on Python 3). So again, everyone wins.

perhaps it's a good idea to cancel the websites asciidoc.org and methods.co.nz/asciidoc/ and bring up an up-to-date site?

My plan, which I believe lex also supports, is to move the current site for AsciiDoc Python to a sub-domain or subfolder and repurpose asciidoc.org for the language itself. I'm exploring a few options and will present the proposals once I have them ready. (It's just going to take some time).

it should be underlined that Asciidoc is just a "markup language definition";

That's the direction we are trying to go.

What about asciidoctor - the proper name is "asciidoc-ruby2", isn't it?

An implementation of AsciiDoc can have any name it wants (as long as the name is easily distinguishable from the AsciiDoc name itself, which is the case here).

The reason for the asciidoc -> asciidoc-py3 rename is to make it clear that it used to be both the language and the implementation, but we're now splitting them. It also sends a clear signal that it runs on Python 3. So this project is very special in that it can reuse the AsciiDoc name because it is the original source code. (In copyright, you don't need to get permission from yourself). It's unique among all other implementations. (And perhaps one day it will have a completely new name...but for now it's important for the transition).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment