User:Norv/dev/team

Please note that this page is obsolete. (even though essentially correct). It's copied from an old document, and should be rewritten fully to document the roles and entrance process.

The development team responsibilities (rough outline)

 * Maintain a roadmap to plan for the short-term and long-term development of SMF software
 * Provide direction and leadership to discussions of the future of SMF.
 * Review current and coming technology, to make sure SMF stays current.
 * Review and select features for future versions.
 * Monitor the bug trackers and get feedback from the beta testers.
 * Monitor and address security reports.
 * Develop new versions of SMF.
 * Work with beta testers to make sure new features are tested adequately.
 * Fix bugs.
 * Release SMF versions to the community
 * Determine when the latest version of SMF is ready for release
 * Provide a changelog, derived from commit comments, to accompany each release of SMF.
 * Prepare the upgrade, update, and full install sets for each SMF release
 * Make the install sets available on the SMF website
 * Make an announcement of each SMF release
 * Develop, enhance, maintain the ecosystem of official modifications, tools, themes, converters, bridges.
 * Work with the customizers and other contributors on official modifications and themes.
 * Maintain repositories or keep track of the distributed repos for official modifications/themes.
 * Develop and maintain converters to SMF.
 * Develop and maintain bridges between SMF and third-party software.
 * Work with contributors from the community on third-party tools, bridges, integrations
 * Work with and communicate with other SMF teams, contributors and the community.
 * Assist with support, when advice from a developer is needed.
 * Keep the other teams up-to-date on changes (Support needs to support it, Doc needs to write about it, Customization needs to know about new best practices, Localization needs to know the changes).
 * Manage the code repositories, including user accounts.
 * Communicate plans and progress to the SMF team and community.

Roles
Roles are not set in stone, however for informative purpose and to get an idea about our way of working, these are a few guidelines.

Sometimes people helping SMF development may not feel they're ready to handle anything in SMF core. That is fine. ALL the contributor roles do not need only people who are willing to do "all or nothing". On the contrary, people do what they see fit for themselves, and may find time for, and that is exactly how it's supposed to be. We have in the development team more roles, that we are using and will be using to account for certain little differences in development responsibilities.

SMF Development team has four main roles, as far as development itself is concerned, Core Developer, Developer, Consulting Developer, and Release Manager, apart from committer status. While too much formalization and claims of boundaries between them are inappropriate IMHO, some things can be clarified.


 * Release Manager
 * is in charge with a specific branch of SMF.
 * the release manager role does not have a special badge, it's not that formal, however it's in place today.
 * SMF 2.1 release manager is Spuds.
 * SMF 3.0 is directly in Norv's charge.


 * Core Developer
 * full SMF development position
 * SMF development
 * this role involves and oversees development on pretty much everything.


 * Developer
 * full SMF development position
 * meant for rather non-core, development work
 * that is, official tools, bridges, converters development, as well as (or), official mods; enhancements and new features to be included in future versions of SMF core, implemented preferably as mods for the current version in the first instance if fit; official themes possibly
 * bug fixes, bug investigations, assistance with bug fixing
 * assistance of other teams on the tools they need for their job.

Notes: The "Developer" role has been pretty much unused in SMF last year and now. When we had people filling it, they pretty much had a similar role as Core Developers. That wasn't exactly the intention of the role (before last year it was used for converters/tools/bridges developers), nor the way it will go in the future. SMF is not SMF core alone, nor 2.1/3.0. It is 2.0 official mods and themes as well, tools for community forums, bridges and integrations, converters, dev and downloads sites, tools for other teams, like language editor and so on. I worked to bring information and expand these areas and awareness of them, and make them open to the SMF team and not only, to contribute to, regardless of their primary role (their "badge"). At this time, since that has happened and people have picked up and done a lot of development and development-related work in these areas, I think it is only natural to revisit this "forgotten" role and acknowledge people's real work on the project by its lines.

This is what it was meant for: to shift towards additional (sub)projects (while not "restricted" to them alone), as we're working more on those areas in addition to SMF core.


 * Consulting Developer
 * responsibilities may be various, ranging from a particular mod or theme in their charge, or particular mods or tools, bug fixes or simply areas of SMF they may help with.
 * does not have "full" development responsibility, and by that, does not have the same (relative, but existing) requirements, nor have to deal with the whole mess of a team position.

Other notes: I have created last year this role with a few purposes, mainly to enable knowledgeable community members/beta testers/friends to take part to SMF development, on the areas of their expertise, without for that taking up directly "full" development responsibilities yet. This is an avenue for us to work with people, though, in addition, and it may lead to an invitation as SMF Developer.

Quite a number of people, from any teams, have committer status to Tools or SMF core. Generally committer status is granted for specific areas, assistance with particular areas, though not necessarily limited to it. Of course, as always, this includes bug fixing. (the least popular of all!)
 * Committer status


 * Beta Tester
 * check up on the development versions or released versions, of SMF, official mods, official themes, tools, converters, etc.
 * report bugs
 * propose patches
 * test the reports from the community, and help acknowledging them or solving them

Note: The Beta Tester role exists mainly to enable people to check up on SMF, official mods, official themes, and give their feedback. It is not bound to any particular task, only enable people to do what they want to do.

How to contribute
Any contributions from the community are welcome, and we thank you for giving time for this project! We're working to have no limit for the contributions we are able to accept, from simply offering feedback to SMF, to proposing patches and reporting issues. Going by all the range in-between, proposing enhancements to SMF, as mods for the community, designing a new theme or helping with the documentation, code documentation or functionality.

A few avenues to help out:


 * Information about SMF status, bug reports, milestones:
 * Bug tracker
 * Bug Reports board


 * Proposals and discussions for SMF:
 * Feature Requests board
 * Next SMF Discussion board
 * SMF Feedback and Discussion board
 * Tracker


 * Documentation
 * Documentation wiki
 * Function database


 * Official modifications, themes, and scripts
 * Official mods
 * Official themes
 * Useful SMF-related scripts and tools

For more information, see How to contribute