-
Notifications
You must be signed in to change notification settings - Fork 573
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
Create and publish an official Trilinos User Support Policy #1232
Comments
I have completed a draft Trilinos Support Policy document. It is available for review. Please put comments in this issue. |
Referring to the draft at: in the sentence:
should "prefective" be "preventative"? For the references in the sentence:
I think we are making some progress in all of these areas but more improvement is needed (we can discuss the details of these three areas at future Trilinos Leaders Meetings and in other conversations). The note:
Trilinos has not yet adopted a lifecycle model that assigns or uses these maturity levels in any detectable way. That suggests that we need to implement the plan at: Should we create a Trilinos GitHub issue for Trilinos to adopt this lifecylce model? Other than that, these general policies seem very reasonable to me. If a major funded project has Trilinos support needs, it needs to provide some funding for those needs and create a plan for doing so involving Trilinos Framework staff and funded Trilinos developers. But there are a lot of issues that are not covered here that will need to be addressed such as:
Also, note that an important aspect for support is even being able to map between Trilinos GitHub issues and CDash builds and funded customers. Therefore, I think that as part of this support story, we need to complete: Otherwise we are going to have a hard time tracking support issues for important funded customers on this Trilinos Github site and implement this support policy. |
Responses to some of Ross' comments:
|
@maherou : I am worried about this statement. "First level support will come from funded project team members who are part of the Trilinos team". May be by first level support is just PoC ? |
Just being a POC is fine as long as there are people with the time and funding exist to pass off issues to. |
I am a bit worried about these statements: Therefore, support is best done by the team members developing capabilities. Support and support planning should be an integral part of development efforts." It is hard enough to convince everyone that they should follow some process even though it is a research rather than production software effort. These statements push it farther into the production realm, from what I read. I would push in a bit of a different direction with the same goals. Can this be restated towards the sustainable software/reproducibility goal to offer reasonably documented intent to make it easier for more than the original author to support the code? I have had people I've worked with over the years that have quit once they realized that they were the sole support source for what they had written years earlier. I'd like to see this as more of a carrot approach encouraging good practices to reduce the support incidents rather than declaring that, "you wrote it, you are the front line of support for it--forever". |
Addressing Siva, Ross and Jay comments on the support role:
Please let me know if I missed any point. |
Questoin on this statement "Trilinos support will be an explicitly planned and funded activity within the funded project: While the Trilinos project has dedicated support staff, staffing and funding for support must come from aggregate resources provided by funded projects. Specific project budget amounts should be set aside for support." Are you saying that as someone develops a package as part of their LDRD project, they should budget in support and bug fixing? I don't really know what a funded project is, I read the description and it sounds like only if the funding is tied to an application then it is direct funded? I see an issue if this doesn't apply to the full trilinos stack. Here is an instance. Oh, that feature wasn't developed under direct funding. Also, where does QoS fit into all of this? Is there a response time? One of the reason we don't want to use STK is that if an application other than Sierra has a bug or a feature gets deleted, it can take months/years to address. Maybe all this is a different issue, but it needs to be addressed. |
Question on this bit:
Do Trilinos developers have any resources/training available to them on best practices in this area? Something along the lines of "What might I not be doing now that I should be to make everyone's lives easier down the road?" Guidelines on code documentation, user manuals, issue prioritization/juggling, etc.? |
Trilinos also needs some explicit policies about support for newer compilers. Trilinos frequently gets bug reports for problems with Trilinos for newer compilers for which Trilinos lacks automated testing (e.g. #1272 (comment)). Here are some examples of the language that might exist in such a support policy:
The absences of such a policy is bad for developers and users of Trilinos. |
It would be good if compiler support were aligned with the default compiler used in Linux distributions in which Trilinos is a package. |
I think that is a better trigger for when to start trying to test the free compilers like GCC and Clang than just trying to select the newest compiler releases as they come out. That way, at least we know that these compilers are passing the Linux and Mac OSX distributions own tests. But we would need to come up with a policy for new compiler versions of commercial (non-free) compilers like Intel, IBM, NVCC, etc. Those will not be as much directly attached to any particular OS distributions as much. It think it will be harder to come up with reasonable policies for those. For example, I know that SIERRA has had problems with some certain releases of the Intel compiler so just because a new Intel compiler is released does not mean that we necessarily should jump on it. So we need some other reasonable trigger for when to try out a newer version of a commercial compiler. I think having some explicit policies about support for newer GCC, Clang, and Intel compilers would likely address the concerns of 95% of the Trilinos users so that is where we should start with such a policy. |
I think we need to create detailed policies for specific customers to show how the rubber meets the road. |
I have updated the Trilinos support policy based on discussions at a planning meeting last week. The primary change is that we are asking co-funded users who encounter support issues to send a message to [email protected] if it is not clear who a direct contact point person should be. This approach should provide a low barrier to getting support. We guarantee that issues sent to trilinos-help will be entered into an issue tracker and assigned as quickly as possible, and will be tracked. Hopefully this change, along with clarification of other statements, will be acceptable. Note that one outcome from this policy is that the Trilinos team work with funded app projects to have a customized support policy. It can be short, but should spell out details specific to the project. |
Packages in the "Production Maintenance" state (using as a term of vocabulary as the life cycle model has not been officially adopted) typically do not have funded projects from which a "support tax" can be leveraged. Support is problematic when applications rely on such unfunded "orphaned" packages. What support policies can be defined for these? Should the owning org commit to either supporting such packages out of overhead or officially retire the package? |
I have added text about how to support Production Maintenance code. We have received feedback from select users that the current policy seems reasonable. So we will close this issue and move forward with implementing the policy. |
The user support policy for Trilinos has been implicit from project inception. We need to make an explicit policy. Basic elements are:
CC: @trilinos/framework
The text was updated successfully, but these errors were encountered: