ChatScript / ChatScript

MIT License
345 stars 153 forks source link

Who owns this repo, why has it been forked, and what is happening to the original? #3

Closed MaffooBristol closed 5 years ago

MaffooBristol commented 6 years ago

What happens to the original now? Will it be properly deprecated? Where do issues and pull requests go?

MaffooBristol commented 6 years ago

If the repo has now been decentralised, then I'd quite like to join the GitHub organisation because there are a number of things I'd like to discuss regarding the future of the project. And I'd be quite happy to take on the duties of a maintainer too

MaffooBristol commented 6 years ago

As an additional note, this should be a fork rather than a new repo with a handful of commits. By restarting the git history, we've lost all previous builds and tags and versions. The project history should definitely be kept for many reasons

MaffooBristol commented 6 years ago

I believe that if it is an official effort to move the repo, it should be transferred as is, rather than started afresh. See: https://help.github.com/articles/about-repository-transfers/

projectonegames commented 6 years ago

It goes without saying, that a fork is the path, never a new repo, unless there is not a choice.

On Sun, May 13, 2018, 6:01 PM Matt Fletcher notifications@github.com wrote:

As an additional note, this should be a fork rather than a new repo with a handful of commits. By restarting the git history, we've lost all previous builds and tags and versions. The project history should definitely be kept for many reasons

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ChatScript/ChatScript/issues/3#issuecomment-388659098, or mute the thread https://github.com/notifications/unsubscribe-auth/ATjb38j8JOPWiPB63N20kYq3Re2JFTKoks5tyK0ugaJpZM4T88WC .

MaffooBristol commented 6 years ago

Yes, a transferral would be best. But who is in charge of github.com/chatscript?

yaleimeng commented 6 years ago

I think the answer is the author and several important contributors. @MaffooBristol

MaffooBristol commented 6 years ago

I'm curious as to who those important contributors are. It seems it's almost entirely @bwilcox-1234, with a large documentation contribution by @solyarisoftware and historically @tkuebler. More recently there've been a spattering of commits by myself and @jordanqw

@bwilcox-1234 - I would highly recommend wiping this repo and doing a proper transfer, including all the history, releases, tags, etc. Starting from scratch and having two different repos which are out of sync and with no mention of this one's existence is a really, really bad idea. I use ChatScript professionally pretty much every day and I feel it needs to be treated as a serious open source software project used by many, and perhaps these kinds of decisions shouldn't be made unilaterally.

Apologies if this all seems a bit OTT but it's kinda spooked me!

MaffooBristol commented 6 years ago

Agh, I've just realised too that github.com/chatscript is an actual user. It should be an organisation

solyarisoftware commented 6 years ago

Hi Matt, @bwilcox-1234, aka Bruce Wilcox, creator and owner of all accounts here, explained to me the point.

The original issue was the fact Bruce could no longer login on the original/historical repo account: https://github.com/bwilcox-1234/ChatScript

After an agreement with github administrators, If I well understood, he obtained the access to https://github.com/ChatScript/ChatScript (a "void"/unused account already on github at time).

Myself, I just contributed to CS in some ways:

  1. In fall 2016 I agreed with Bruce a main rework/re-organization of old documentation on PDFs., porting anything on markdown files and setting up a WIKI tree with this root page: https://github.com/ChatScript/ChatScript/tree/master/WIKI

    I'm happy that this wiki is now considered official documentation and updated by Bruce and others. For personal reasons, after an initial personal effort from 2016-2017, I'm now a bit stopped to update.

    BTW, immo there is space for improvements in rethinking and reformatting info here and there. Bruce agreed on that. Nevertheless, it require a lot of shared effort.

  2. I try to promote broader utilisation of CS with some articles (see: https://medium.freecodecamp.org/chatscript-for-beginners-chatbots-developers-c58bb591da8) and I presented CS on my last talk, see : www.bit.ly/iasummit

  3. I tested and gave feedback on bugs and feature proposal. See the Javascript-crash issue you know.

All in all, I agree in all your claims/proposals. I agree with you that the "transfer" would be the correct way. Just a minor point where I'm in doubt:

As an additional note, this should be a fork rather than a new repo with a handful of commits. By restarting the git history, we've lost all previous builds and tags and versions. The project history should definitely be kept for many reasons

Again you are right, but also CS has become really huge in download size. Maybe some pruning of very old releases could help.

I'm not a git nerd and if you could help Bruce suggesting the git/github best way, i feel your help/suggestions will be very appreciated by Bruce, that probably doesn't have the focus on the sharing OSS standards/conventions . Please contact him via mail at gowilcox@gmail.com

MaffooBristol commented 6 years ago

Thanks Giorgio

So, the agreement was to take over github.com/chatscript, rather than gain access to the bwilcox-1234 account? That seems odd that they wouldn't be able to get access to that one instead.

And yes I know of your many contributions 😄 Also seen you around on StackOverflow.

CS is very, very large. You're right. There are many reasons for this though, partly that the .git/ folder itself is just filled to the brim with massive binary changes and stuff. And partly just because the repo is just unnecessarily bloated. Things like the debugger and the IDE should be in separate projects. Same with server batch files, third party tools, VS folders, Loebner stuff (actually, I think this may have been removed...?)

If we had an organisation that contained the following:

github.com/chatscript/chatscript
github.com/chatscript/chatscript-debugger
github.com/chatscript/chatscript-ide
github.com/chatscript/chatscript-documentation

... etc, etc. I think that'd be grand.

We can do pruning and garbage collection and stuff to fix a lot of the size issues too. However, in order to completely remove some of the noise from the repo and also lower the size of the .git/ folder, we'd need to actually rewrite the commit history and force push up, which is a terrible idea.

Obviously, none of this can even be started until we have our ducks in a row regarding the ownership and future development of the project. Perhaps it may be a good idea to get together a team of people willing to in someway moderate the org...

Just some thoughts but will await @ChatScript / @chatscriptnlp / @bwilcox-1234's thoughts

Cheers Matt

solyarisoftware commented 6 years ago

So, the agreement was to take over github.com/chatscript, rather than gain access to the bwilcox-1234 account?

I think so

That seems odd that they wouldn't be able to get access to that one instead.

I know, but That's it, as Bruce told me.

We can do pruning and garbage collection and stuff to fix a lot of the size issues too.

The bug fix is of course a priority. Afterward: Pruning of old/not running stuff as Javascript integration. Also, there are many structural topics to deepen. In my case, as Italian, I'm interested in l"foreign"languages support. The current proposal to support not-english languages involve a commercial licence (TreeTagger). That's ok but a bit in conflict with the OOS mindset. Also: Wordnet integration / update is another possible issue. Last but not least the code needs a rethink/re-engineering with a possible plug-in /modules architecture.

Loebner stuff (actually, I think this may have been removed...?)

I admit, have been my proposal to insert in WIKI these old docs/articles. In my modest opinion these are still important to understand the "conversational design" ideas that triggered CS invention by Bruce and Sue Wilcox.

Perhaps it may be a good idea to get together a team of people willing to in someway moderate the org...

CS is an amazing project, basically maintained so far by his creator. In any case, I have to really thank you Bruce for his sharing as an open source. But as he always state, CS is not, so far, an opensource code in terms of a community / collaborative team of developers.

Minor point, a "user" community is also present here: https://www.chatbots.org/ai_zone/viewforum/44/
In my opinion the central "point of interest" would be this github repo. And chatbots.org would be moved in a better running website.

For a step forward in ChatScript growing, CS needs a big company as possible sponsor and a team of dedicated developers / maintainers.

Just some thoughts but will await @ChatScript / @chatscriptnlp / @bwilcox-1234's thoughts

Yes, all mentioned accounts belong to Bruce.

Matt, I please you to contact him via mail maybe to propose him some small steps on a git/github rework.

Thanks! giorgio

MaffooBristol commented 6 years ago

Yes I agree with many of those bugfixes mentioned. We're also dealing largely in foreign languages, and even expanding to more than are currently supported by CS. I also think the dictionaries and stuff for some of the more recently added languages (for example Russian) need a vast quantity of work on them. But I think that's one for another discussion!

In my modest opinion these are still important to understand the "conversational design" ideas that triggered CS invention by Bruce and Sue Wilcox.

I very much agree, but I also think they're better placed elsewhere than in this repo itself.

CS is an amazing project, basically maintained so far by his creator. In any case, I have to really thank you Bruce for his sharing as an open source. But as he always state, CS is not, so far, an opensource code in terms of a community / collaborative team of developers.

Well, the license is MIT, one of the most open ones possible. I entirely agree that it's a fantastic project and am hugely thankful- please don't get me wrong that I'm trying to be brutish about it, I'm just looking at it from both the "spirit of" open source and the practicality of it being maintained single-handedly. But read-only open source isn't really open source. If it is not open source "in terms of a community / collaborative team of developers", then it should not have an MIT license. And as I said, being in a position where a widely-used project that many depend on becomes duplicated unexpectedly, because the sole maintainer has lost access to it, is with all respect deeply worrying.

For a step forward in ChatScript growing, CS needs a big company as possible sponsor and a team of dedicated developers / maintainers.

I agree. But it's not even all about growth. I'm not a C++ dev and so don't really have the ability to do anything more than fix small bugs and do housekeeping, but I'm still willing to do so if it helps decentralisation. A few people dedicating some of their own time to helping maintain it isn't the hugest ask in the world.

chatscriptnlp commented 6 years ago

I did contact github to take back control over bwilcox-1234 and they said NO. Without the 2 factor code, they would not accept any other way of verifying my identity

MaffooBristol commented 6 years ago

That's a shame. What was it 2FA'd against?

chatscriptnlp commented 6 years ago

So... various going forward issues.

  1. bwilcox-1234 is dead to me, I cannot write to it and git wont change that
  2. chatscript-nlp was created as a replacement because chatscript name was not available. But then it became available so I grabbed it and the nlp site is only a foward now, not the active site.
  3. I used to have a license that roughly said "do what you want with the code", but some people wanted a standard license so I have the MIT license.
  4. The IDE compile requires sources of the main body, so I dont see separating it as a project.
  5. Yes, CS is not really "open". It was/is a private research project that I made available. Some people do suggest changes and offer code for me to integrate in which I take/revise/integrate. I have not studied how actual open source projects keep people from messing up the code. Maybe you can educate me.
  6. I'm not a git expert, so I dont know the ways and means of cloning from bwilcox and then re-adding the updates to latest maintaining a full history. Nor am I clear on the merits of being able to go back to versions from years ago.
MaffooBristol commented 6 years ago
  1. I guess if that's the case then we'll have to say RIP bwilcox-1234/chatscript and move on. It would be nice if there was at least some way of displaying its deprecated status, but if github are rightfully not going against its own 2FA rules, it seems impossible
  2. That makes sense, I'd still say that github.com/chatscript should be an organisation. This could be done if you temporarily renamed the account and then speedily created an org with that name and did a transfer
  3. Yes the MIT licence is closest to "go for it", but the question is more about how free the current use of either licence is really, rather than choosing a licence itself
  4. That makes sense. Again, I'm not really a C++ guy, but can it not be a dependency? Is there not a way of including open source C++ dependencies in open source packages, like Maven or npm does?
  5. I entirely understand that, and again I'm really appreciative of the source of the project being so openly available. And I'm definitely not at any point suggesting to make it an open free-for-all. I'm more suggesting that a few people can get on board and help move the project along. Even if it's shifting it from being just a research project that's been made available to being something that's handled by a small and select group of people who have the future of the project in mind, who understand that it's still your project and are respectful of that, but are perhaps collectively more proactive in maintaining it. But if people are using it beyond the research project realm, needing a more fast-moving and collaborative ecosystem is, I think, a must. You'd still have full control over everything, but others can help with issues, pull requests, and other such stuff. For myself at least, and with the projects I'm working on, I feel I need a bit more regarding the movement of the project. I could fork it privately and continue there, but that's something I don't want to do because I love open source software and feel it's the real heart of software development, especially in this largely research based field. That's why I want to contribute and help and do things to add to the project rather than be selfish and offshoot from it.
  6. If you've lost the bwilcox project then you can't do a full transfer unfortunately. You can fork but it will always have the forked connection as far as github is concerned. I think maybe it's just best to continue as is and use the new history (if that phrase even makes sense!) Having the history over previous releases is useful in general because many people are still using old chatscript versions. Part of the reason I've started all this conversation is because of writing tooling to apply custom bots over different versions of chatscript from github. I also think that seeing the history of a file is really useful for development.

Cheers for getting back to me @chatscriptnlp - hopefully we can have a further discussion about this if you'd be interested. Matt

chatscriptnlp commented 6 years ago

3 "the question is more about how free the current use of either licence is really, rather than choosing a licence itself" -- I can't say and don't really care. I am not going to challenge anyone for use of the system. Any license that makes people feel comfortable works for me.

4 maybe so. But it's more trouble for me than it's worth. I have other things to spend my time on. I'm always short of time.

5 anyone who forks the project has the issue that CS continues to evolve in the main branch, and they have to keep resyncing. So... how do I vet/accept others and give them roles?

solyarisoftware commented 6 years ago

Hi Bruce!

googling "ChatScript", here what I get:

https://www.google.it/search?q=chatscript&oq=chatscript&aqs=chrome..69i57j69i60l2j69i61j35i39j0.4919j1j7&sourceid=chrome&ie=UTF-8

naturally web search and any references point to old repo:

https://github.com/bwilcox-1234/ChatScript

instead of this new one:

https://github.com/ChatScript/ChatScript/

That's bad. Common practice of a github repo not longer maintained is to put is the README.md file

https://github.com/bwilcox-1234/ChatScript/blob/master/README.md

a sentence like

"This repository is n more maintained. Please visit https://github.com/ChatScript/ChatScript/"

Please possibly insert more explanation, the reason why.

if you still can not access the old repo, please ask github administrators to do the minor update.

Besides, second choice (to do anyway) please add a note at the beginning of the new repo README:

https://github.com/ChatScript/ChatScript/blob/master/README.md

the same explanation.

Secondarily, In general I'd suggest to add some (brief) notes on any changes.md new release entry like the last:

https://github.com/ChatScript/ChatScript/blob/master/changes.md#version-85

Just to communicate the semantics/reasons of new CS features/language update/enhancements. Otherwise is a bit hard for followers (as me) to help / integrate / collaborate.

I know is that a bit tedious for you maybe, but documentation sharing is so important here, following best practices of opensource/github code.

My side I do my best where possible, to acknowledge / share your big effort these years:

https://twitter.com/solyarisoftware/status/1036216729775558656 https://twitter.com/solyarisoftware/status/1036533003864997888

With huge respect giorgio

chatscriptnlp commented 6 years ago

thank you. I have done as you requested (emailed github to ask for a change of file).

I'm not sure I understand your request: In general I'd suggest to add some (brief) notes on any changes.md new release entry like the last. Changes.txt (which is replicated in git notes) is a brief note on changes, and one can search the wiki for the corresponding entries that describe in more detail.

On Mon, Sep 3, 2018 at 4:32 AM, Giorgio Robino notifications@github.com wrote:

Hi Bruce!

googling "ChatScript", here what I get:

https://www.google.it/search?q=chatscript&oq=chatscript&aqs=chrome.. 69i57j69i60l2j69i61j35i39j0.4919j1j7&sourceid=chrome&ie=UTF-8

naturally web search and any references point to old repo:

https://github.com/bwilcox-1234/ChatScript

instead of this new one:

https://github.com/ChatScript/ChatScript/

That's bad. Common practice of a github repo not longer maintained is to put is the README.md file

https://github.com/bwilcox-1234/ChatScript/blob/master/README.md

a sentence like

"This repository is n more maintained. Please visit https://github.com/ChatScript/ChatScript/"

Please possibly insert more explanation, the reason why.

if you still can not access the old repo, please ask github administrators to do the minor update.

Besides, second choice (to do anyway) please add a note at the beginning of the new repo README:

https://github.com/ChatScript/ChatScript/blob/master/README.md

the same explanation.

Secondarily, In general I'd suggest to add some (brief) notes on any changes.md new release entry like the last:

https://github.com/ChatScript/ChatScript/blob/master/changes.md#version-85

Just to communicate the semantics/reasons of new CS features/language update/enhancements. Otherwise is a bit hard for followers (as me) to help / integrate / collaborate.

I know is that a bit tedious for you maybe, but documentation sharing is so important here, following best practices of opensource/github code.

My side I do my best where possible, to acknowledge / share your big effort these years:

https://twitter.com/solyarisoftware/status/1036216729775558656 https://twitter.com/solyarisoftware/status/1036533003864997888

With huge respect giorgio

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ChatScript/ChatScript/issues/3#issuecomment-418088130, or mute the thread https://github.com/notifications/unsubscribe-auth/AhmSypsveqc2lldij_PtX5zr_9KDjuIsks5uXRNigaJpZM4T88WC .

-- CEO of Brillig Understanding Inc. (Natural Language applications) brilligunderstanding.com 805-547-1109

solyarisoftware commented 6 years ago

thanks Bruce.

Changes.txt (which is replicated in git notes) is a brief note on changes, and one can search the wiki for the corresponding entries that describe in more detail.

Yes. I explain myself better: When you git push, usually you use a sort of "semantic versioning" (major.minor.fix); by example:

Take last release 8.5; in changes.md you list all news/updated functions. That's Ok (maybe it could be useful to add links to markdown documentation anchors.... I know a bit boring/optional).

What lack, immo, for a new/occasional reader, for any point in your lists is the semantic reason why you introduced these new functions/features. By example:

^walktopics('^func) finds the topics current bot can access and calls ^func with topic name, iteratively.

Ok it's clear the functionality, but maybe lack the use case that motivated the new function. That use case is a very important value to be point out clearly.

So I'd maybe write for each release some introduction/explanation of semantics, before the list of single update/new features.