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

What is the process for community developers to learn/be informed of breaking changes in the NEO Core? #272

Closed
mwherman2000 opened this Issue Jun 20, 2018 · 12 comments

Comments

5 participants
@mwherman2000

mwherman2000 commented Jun 20, 2018

@erikzhang What is the process for community developers to learn/be informed of breaking changes like this one being made in the NEO Core? ...for example: #271

@erikzhang

This comment has been minimized.

Member

erikzhang commented Jun 20, 2018

The specification can be found here: https://github.com/neo-project/specification

I will complete it in the next few months.

@mwherman2000

This comment has been minimized.

mwherman2000 commented Jun 20, 2018

Open letter to @dahongfei, @PeterLinX, @lerider, and @erikzhang,

Given,
(a) the fragile architecture of the NEO software (i.e. having to continually reimplement the always changing NEO VM and Tx processing functionality in dozens of applications outside NEO Core (e.g. NEO-Debugger, neon.exe debugger compiler, neo-python, NEO-LUX, neo-gui-developer, ...and I'm assuming every blockchain explorer (e.g. NEOSCAN), and every community project such as https://neocompiler.io/#/, NEX, switcheo, and https://github.com/mwherman2000/serentitydapps/blob/master/SerentityDapp.Perfmon/README.md),

(b) the thousands or 10,000s of community developer hours worth of effort that are continuously being invested in trying to keep up-to-date (in a totally 100% reactive way) with the changes to the NEO Core being dumped into the NEO network, and

(c) the damage being done to the reputation of NEO community apps and dev tools when they fail due to breaking NEO Core changes,

...this is a horrible waste and drain on the ecosystem and very damaging to the reputation of the NEO blockchain when the NEO Foundation/NGD chooses to continuously dump new breaking changes into the NEO network.

What is needed is an effective release process:

  • advance communication plan
  • technical roadmap
  • coordination between NEO Foundation/NGD and the broad community
  • coordinated test plans and testing
  • formal software release process
  • formal migration processes

These are the basic requirements ...and shouldn't ...can't... wait any longer ...else the NEO platform and NEO ecosystem is simply a house of cards (a facade) that breaks down every few weeks/months as exemplified by #271.

  • How much more bad press and reputation damage does NEO need/want?
  • When is the NEO leadership team going to fix this situation?

Best regards,
Michael Herman (Toronto)

@mwherman2000

This comment has been minimized.

mwherman2000 commented Jun 20, 2018

@mwherman2000 mwherman2000 changed the title from What is the process for community developers to learn/be informed of breaking changes? to What is the process for community developers to learn/be informed of breaking changes in the NEO network? Jun 20, 2018

@mwherman2000 mwherman2000 changed the title from What is the process for community developers to learn/be informed of breaking changes in the NEO network? to What is the process for community developers to learn/be informed of breaking changes in the NEO Core? Jun 20, 2018

@toghrulmaharramov

This comment has been minimized.

toghrulmaharramov commented Jun 20, 2018

Agree with @mwherman2000. The communication between the core team and the devs is non-existent.

@mwherman2000

This comment has been minimized.

mwherman2000 commented Jun 21, 2018

Additional feedback from the NEO community (direct quotes edited for spelling and simple grammar):

  • NEO is dying slowly
  • Ontology will be NEO 2.0
  • NEO appears to be a science project/playground for creating new tech for ONT
  • I find the deployment of code that is untested and uncommented to be quite reckless
  • It is a nightmare keeping track of NEO core developments, NEP standards, ... and everything else that keeps changing
  • Breaking changes have caused existing [in-progress] ICOs to deny transactions
  • Communication between the core and the devs is non-existent [from above]
  • They should communicate [breaking changes] better
@igormcoelho

This comment has been minimized.

Contributor

igormcoelho commented Jun 21, 2018

@mwherman2000 I can agree with many of your arguments and opinions, as they are usually constructive for the community. I don't see this discussion being useful for anything constructive, so excuse me this time, but I'm leaving this thread.

@mwherman2000

This comment has been minimized.

mwherman2000 commented Jun 22, 2018

RE: The other thread seems to list many problems without mentioning any solutions

@saltyskip, these are the solutions listed in the Open Letter in the form a list deliverables (for the most part) that I suggest need to be created and delivered. Here they are again with a bit more detail and some examples plus another item or two:

  1. Improve coordination between NEO Foundation/NGD and the broad community
    Examples: coordination with local NEO technical meetups, more developer events, more online events, bi-weekly core team updates (like the Ethereum Core Meetings posted on YouTube: https://youtu.be/8-AZys80RrU?t=5m32s from 5 days ago or EHT's special ewasm meeting from 8 hours ago: https://www.youtube.com/watch?v=TNRSmybqeQc)
  2. Create a technical roadmap. Example from NEO's nearest competitor: https://stratisplatform.com/2017/09/29/stratis-roadmap-update/
  3. Maybe NGD needs to draft an MOU with the broader NEO community in addition to its investments of time, effort and deliverables with ONT?
  4. Create a community-based Initiate, Create, Review, Validate & Approve (ICRVA) process. Examples: https://hyperonomy.com/2016/05/09/how-do-we-think-about-how-we-work/ and https://hyperonomy.com/2017/04/09/structuring-small-powerful-documents/. Implement it on the blockchain
  5. Create advance communication plan. Examples: https://templates.office.com/en-us/Project-communication-plan-TM03992044 (Think about implementing it on the blockchain similar to https://github.com/mwherman2000/serentitydapps/blob/master/SerentityDapp.Alert/README.md#design or https://github.com/mwherman2000/serentitydapps/blob/master/SerentityDapp.Perfmon/README.md#design)
  6. Adopt/adapt a formal software release process. Examples: Here's one ...choose your favorite: https://en.wikipedia.org/wiki/ITIL ...coordinated test plans and testing
  7. Adopt/adapt a formal set of migration processes Examples: Ditto

What else do people feel needs to be on the list in terms of missing release process tasks/deliverables?

What else to people feel is needed in the NEO ecosystem overall?

Best regards,
Michael

@mwherman2000

This comment has been minimized.

mwherman2000 commented Jun 22, 2018

RE: NEO R&D Roadmap https://neo.org/blog/Details/4086

image

The above is a marketing roadmap, at best, a product marketing roadmap. A proper detailed technical roadmap is needed ...i.e. more details. In addition, it is not accurate (e.g. NEP-10 is not a Q4 activity - it's already an Accepted and Final NEP standard that is being implemented by SC developers as I write this).

@Leondelcrypto

This comment has been minimized.

Leondelcrypto commented Jun 22, 2018

I don't think NEO is dying ! You never know what is going on in the background !

@mwherman2000

This comment has been minimized.

mwherman2000 commented Jun 22, 2018

RE: You never know what is going on in the background !

Exactly @Leondelcrypto! ...that's exactly the primary problem we're talking about! ...in addition to the release processes discussion.

You couldn't have said it better.

@mwherman2000

This comment has been minimized.

mwherman2000 commented Jun 22, 2018

@saltyskip

  1. neo-project/proposals#44 (comment)
  2. NEO Yellow Paper
  3. NEO Specification (same as #9)

@erikzhang Are #9 and #10 the same set of documentation? ...or different? ...you have recently used both terms

@erikzhang

This comment has been minimized.

Member

erikzhang commented Jun 23, 2018

Are #9 and #10 the same set of documentation? ...or different? ...you have recently used both terms

They are the same.

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