- Posts: 4402
The future of Deviation
- PhracturedBlue
- Topic Author
- Offline
That said, I haven't done much work on Deviation in the past year, and when I have done, it hasn't been for a long period of time. Given that we have a reasonably active community here, I don't want to stand in the way of progress if possible.
So I'm looking for suggestions on the areas of interest:
1) The forums. FDR does a good job around here, keeping things running, but we may be in the market for a 2nd admin to help out. If you are interested you can PM me, but only long-standing members need apply.
2) The code. I am aware that there has been development work in the deviationtx branch, but releases from there aren't on the main-site download links, so only those who spend time in the forums may be aware of it. When I was gone for a while in 2013, rbe had the same issue. I'd like to find a better permanent fix for this.
3) Tickets. The tickets have gotten out of hand since I don't look at them much. I'd like to find a way to manage them better. Maybe by having a single 'group' repo with an expanded admin list, or separating the tickets from the code (I have played with using redmine as the ticket system and allowing filing tickets directly from the forum. Sadly, my hosting provider doesn't provide a recent-enough Ruby installation to make that very viable)
4) Documentation. Documentation tends to get out of date quickly when active development is going on. We've discussed switching to a Wiki in the past, but I like having documentation versions with the releases. I don't know if it is possible to snapshot a Wiki into a pdf (and have it actually be useful)
5) Multi-module stuff. I have no idea what is going on with this one, but it is the most-likely aspect that I will tackle myself since I think we're very close to a workable solution.
Anyhow, while the community here is active, I don't expect that there is enough expertise/desire here to address all of these issues. However, maybe solving just a couple critical ones will be enough. I'm open to any ideas any of you may have.
Please Log in or Create an account to join the conversation.
- mwm
- Offline
I think items 2 & 3 can be addressed by the same issue: an official group repository that has more admins. I think more people with a commit bit would help as well. That's why I created team deviationTx - to try and get all the ongoing development work in one place while you were busy elsewhere. I think it's mostly been successful.
I'd like to see the team repository become the official one. That's why I made you an admin. However, that requires your blessing of the idea, as well of the rules for committing code (those are in the wiki). Until you decide about that, further discussion would be premature.
If you don't like that idea, let me know what you think should happen to the team, and I'll take care of it.
Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.
My remotely piloted vehicle ("drone") is a yacht.
Please Log in or Create an account to join the conversation.
- hexfet
- Offline
- Posts: 1868
I agree with mwm that a repo that some others can update and is tied to the website would help keep things moving along. Especially for bug fixes and non-controversial changes.
My questions are more about your vision for Deviation. How would you like things to work when you're not available? For example, would new features be merged by group consensus. or maybe just bug fixes. Would a group repo be considered the mainline deviation, or would mainline updates wait for your evaluation and merge?
I think a wiki would be very valuable regardless of whether it could easily be turned into a pdf. Many posts on the forums would be assets to the documentation, and it's easy to cut and paste to a wiki. Even without an automatic tool the wiki would be a good resource for updating release documentation.
Speaking of releases, I'm unclear on the value for projects like Deviation. A defined release is good for distributing a defined package of software, such as part of a distro. What advantage does it bring to the Deviation community over having nightly-stable and nightly-development builds available?
Lastly, I'm here to contribute but my expertise is mostly on the low-level hardware side. Haven't been in RC long enough to have strong opinions on things like the timer, toggles, and flight mode changes - don't use 'em on my 4 models. Me and GUI code share a mutual dislike. I can help with documentation.
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
I haven't given this a lot of thought, but until I am willing to fully hand the reigns over, I do not think I'm likely to give control of features and releases to a committee. We have had great work done by folks like suvsuv and rbe2012 which I decided to not include or do differently (and please note this has nothing to do with the quality of their work, just that it didn't go in the direction I wanted to go in). I haven't looked too much at the latest progress, and can't speak to whether it would be to my liking.
So my thoughts at the moment go something like this:
1) maintain a master code branch that i am responsible for. Either by permission or by agreement, no changes go here without my approval
2) maintain a branch of the the last official release. This can be open to trusted developers who agree to only do bug-fixes on the branch
3) maintain a development branch that is open to trusted developers. new features can be placed here without any consultation from me, and when I'm doing development I would likely develop here. When getting ready to do a release, code will be pulled from here (or not) into the master branch for release, but that may happen infrequently.
We can setup a build daemon to build from (2) and (3) automatically (there is probably no point in auto-building from (1) with links in the download section. In the case I go AWOL for too long, and a good-faith attempt to reach me fails, the group would have the proper access permissions to make new releases from (1)
This isn't easy to do with a single repo without just trusting developers to do the right thing. I am not sure if I am there yet. So I may decide to keep 2 bitbucket repos, one for official releases and one for development and bugfixes (on a branch).
That would leave the issue tracker which really needs more users to help out. I'd like to tie the tracker to the actively developed repo so that tickets can be auto-updated. The bitbucket tracker is really limited in capabilities, but I think it may be possible to import tickets from one repo to another.
Again, this is mainly my thoughts as they are at the moment. It isn't a decision, just my current ideas.
Please Log in or Create an account to join the conversation.
- mwm
- Offline
Personally, I like the trust-first model. Don't worry about securing everything, but assume your developers will behave. After someone has submitted enough patches that have been accepted as is, give them a commit bit and explain the rules to them: here's when/where you can push code to the shared repos, and if you don't follow these rules, we'll take away your commit bit. As you get more trust in them. If worst comes to worst, you can nuke a bitbucket repository and recreate it from a clone that hasn't pulled in any broken changes yet. As you get more trust in them, they get looser reins.
I also think releases are important. How many people who see something cool on rcgroups or wherever would stay interested if they came here and saw instructions to "download the latest build"?
From the perspective of someone advocating deviaitonTx, it would be nice if the release process were documented somewhere, so I could point to it and say "this is what happens before we create a release." People who have dealt with a large company being slow to admit to problems in their products instantly see the advantage of having issues be public knowledge. I think having a published release process would be equally helpful.
Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.
My remotely piloted vehicle ("drone") is a yacht.
Please Log in or Create an account to join the conversation.
- hexfet
- Offline
- Posts: 1868
I agree a defined release process is a benefit. One potential issue is that official Deviation releases from PB's repo may not contain all the features available in the development branch. If official releases occur infrequently and many users move to the development branch it will be important to explain the promotion process.
I'm uncertain of the number and type of Deviation users. Do many people install it without ever visiting the forums? Are there many users still on 4.0.1? Likely my viewpoint is skewed by checking deviationtx.com every day.
For the development branch/repo a changelog file might be useful. A couple lines about each significant merge to default would help users understand the differences as new features are added and bugs fixed. Without a changelog the list of merged pull requests is the only place to go. If versioned development builds would be helpful, they're a note in the changelog and a tag in the repo that gets automatically built.
Please Log in or Create an account to join the conversation.
- BitOne
- Offline
- Posts: 40
Nice to see you here again !
For the point number 4 (documentation), we could use RST ( docutils.sourceforge.net/rst.html ) or Markdown ( daringfireball.net/projects/markdown/syntax ) format.
The main advantages:
- "easy enough" to edit
- versionable in a repository, as they are text files, so possible to version them the same way as sources
- pull request, merge, commit on documentation allow easy sharing and collaborative editing
- PDF generation to maintain a downloadable version (via Sphinx, rst2pdf)
- HTML generation to provide an online/searchable version (via Sphinx)
Main drawback:
- editors non familiar with source repository will have a harder time dealing with the editions.
I have some experience working in these format on different open source projects, so I can help here if we decide to go this way.
Please Log in or Create an account to join the conversation.
- mwm
- Offline
How does going to a text markup instead of libre/open/whatever office help with the problem of documentation getting dated? I mean, yes, you can now edit things with a simple text editor without having to download a fairly large application for it. But to get there, you have to be comfortable with dealing with a dvcs, and writing markup. So you may get more users working on it, but you now lose those who are comfortable working with a word processor. Not clear it's a win.
Markdown, in particular, is problematical because it was designed for generating HTML. So native markdown isn't very expressive, as you were supposed to embed HTML for anything beyond simple text. Which means your processors have to be able to handle HTML, and pretty much everybody who implements markdown provides a different set of extensions for dealing with missing features.
The Wiki PB mentioned is ideal for keeping things up to date. But in order to use it for the manual, there has to be some way to extract a section and generate PDF from that section. Ideally, it would have a DCVS underneath it so we could just check out the marked up text, and then point some tool like pandoc at the "manual" directory to get PDF for the manual.
I don't know of anything that has all the features I'd like to see (WYSIWIG and markup editing both online & offline, rich markup, some kind of VCS, the ability to generate PDF for just a manual). I'd like to see PB's desired feature list, though. Maybe someone knows of a system that can do all that.
Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.
My remotely piloted vehicle ("drone") is a yacht.
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
Wiki syntax tends to be quite limited compared to a full word-processor, I think it would be difficult to write the documentation in markup and convert it into a good-quality pdf, but I am not familiar with Sphinx, and perhaps I'm wrong.
The other discussion we've had is to use google-docs for the documentation, but honestly, I don't think that would help much, as I don't think it would help documentation get written more quickly.
Also remember that the documentation often gets translated into other languages, and we need to continue to keep that as easy as possible to do.
In the end the only purpose would be to increase the number of people who contribute to the documentation, and I'm not sure there is anything that would really do that
Please Log in or Create an account to join the conversation.
- mwm
- Offline
I wrote my tutorial on model configs in google docs; first time I've used it. That thread has links to both the google docs version and an upload of the PDF generated from it if you want to see what such looks like.
Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.
My remotely piloted vehicle ("drone") is a yacht.
Please Log in or Create an account to join the conversation.
- mikemacwillie
- Offline
- Posts: 152
Please Log in or Create an account to join the conversation.
- retiredfist
- Offline
- Posts: 21
Thanks for everything you have done for the community
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
a) we'll move the official repo to the deviationtx group repo. I checked and it is possible to restrict access on certain branches, so I may create and restrict a 'staging' branch for preparing for releases.
b) I'll shut down the bitbucket bug tracker, and replace it with a self-hosted version. The primary reason for this is that I want to require all tickets be created by registered users (because anonymous users never respond to tickets), but DO NOT want to require users to create bitbucket accounts. By self-hosting, I can use single-signon so your forum account will let you submit bugs.
More info on the bugtracker in this thread:
www.deviationtx.com/forum/3-feedback-que...racker-testing#29157
Once I have everything tested, I'll make the above changes, but it may take some time.
Please Log in or Create an account to join the conversation.
- mwm
- Offline
Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.
My remotely piloted vehicle ("drone") is a yacht.
Please Log in or Create an account to join the conversation.
- Home
- Forum
- News, Announcements and Feedback
- Feedback & Questions
- The future of Deviation