Many of you are familiar with my Steemit.com Development Updates series, which provides the community with information about what is going on in the Steemit.com GitHub development project. It is a good way for the community to get a glimpse into what the Steemit dev team is working on.
My report often says changes will likely be released "soon". I have seen a lot of comments from people wondering what "soon" is, and when to expect features to show up on the live site. I come from a development background - so what seems "soon" to me (one to two months) is probably not the same as "soon" to many of you :)
Hopefully this process will give you a better view into what all takes place, so you can better understand why some of the changes might be taking a while to show up on the live site.
Note - Not all changes follow this exact process, and there is actually more to it than this. This is just a general overview of the process, to give you an idea of what is taking place.
- Usually before work is started, an issue is opened. This is to track the change, as well as allow the community and development team to discuss it. A lot of the time, issues will stay open for a long time before they are worked on. This can be so that the community can discuss them, or because the developers are focused on higher priority changes.
- Once an issue is open, some developers may start to look into the code, and 'unofficially' try out some changes to see what the issue involves. This might be happening in the background, so sometimes it can be hard to tell initially if an issue is actually being looked at.
- If a developer decides to officially work on the change, they will usually assign the issue to themselves. This lets the other developers and community know that they are going to be working on the issue.
- When changes are made, they are introduced into the GitHub system as "commits". A commit is an actual change that to the code, which other developers can review - but it is not officially checked in to the 'main code base' yet. At lot of changes will get to this point, but never make it into the final release because there are either issues with the code change, or the dev team / community doesn't like the changes that are being made.
- Once the developer feels that the change is ready, they will submit what is called a "Pull Request". This is the official way to submit a set of changes to the actual Steemit code base. Submitting a pull request still does not actually check the changes in yet, and it is not a guarantee that the changes will be accepted. It is just the first step in the process to get them there.
- Once the pull request is submitted, it goes under a period of intense scrutiny/review. People will look for things that could be wrong, and test it to try and find issues. At this point the change may be sent back for more work to be done, or completely rejected.
- If the pull request passes all of the tests/reviews, then it will be accepted and merged into the branch. At this point, the change is actually getting close to being released onto the live site.
- Once the change is checked into the branch, it will still undergo a lot more testing and review before it is put onto the live site. It is still possible at this point for issues to be found, at which point the change would need to be rolled back.
- After the change has been thoroughly tested and reviewed in the branch, it will become part of the official release to be launched on the site. I do not have much info on this process, but basically the Steemit team will decide when and how to launch the release.
- The release is finally applied, and the change is up on the live site!
Hopefully now you will all have a better picture of where things are at when I talk about them in my "Development Updates" series. If you have any questions, let me know and I will do my best to answer them.
If any of the developers who have gone through this process have changes to suggest, please make suggestions for revisions in the comments, or message me in Steemit chat :)
Also -
If you want to view my application for witness, you can check it out here.
If you think I'd make a great witness, you can vote for me here :)