Replies: 1 comment
-
@tkralphs I really appreciate most of your ideas. They are showing absolutely in the right direction from my business-driven perspective. In my opinion, the foundation should think about professionalizing some of these services. Regular "funds" could secure that newly developed things could be also sustainably maintained on a long-term basis. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is a follow-up to #18, which I'm throwing out as a new discussion. An important question that always comes up when we discuss funding is what we could really do with the money if we had it, so I wanted to give some additional background and then a partial answer to this. These are just some thoughts---the list below is certainly not exhaustive. These thoughts are my own, not those of the Foundation.
For background, a big focus of the Foundation's Technical Leadership Council (TLC) over its history has not really been on developing and maintaining individual projects, but rather on providing services (for projects that opt in) that (1) help users navigate COIN-OR and use the software we distribute; (2) make it as easy as possible for developers to write portable, well-tested software that installs easily in a variety of environments; and (3) allow all the supported projects to function as a coherent and interoperable whole. One tangible result of all this effort has been the emergence of the COIN-OR Optimization Suite, which would not exist as a coherent whole without the efforts of the Foundation.
There is a lot of infrastructure needed to make this possible that probably wouldn't be developed at all if there weren't a centralized model for maintaining it, mostly due to the limited bandwidth of individual developers. This infrastructure can be shared, to the benefit of all projects, but the effort involved in providing it, as well as maintaining those legacy projects that continue to provide important functionality, is large. It remains one of the primary value-added things the Foundation has done and can continue to do going forward. Although less effort needs to be focused now on certain kinds of infrastructure (we can leverage GIthub for many things we used to do ourselves), there are still many services that the Foundation is in a unique position to provide.
Although there was a perceived emphasis on the need for funding primarily to support legacy projects in our original blog post, I fully agree with the idea of focusing on the active, up-and-coming projects. We have to figure out what kinds of support those projects actually need and that's effectively what I wanted to talk about here. To be clear, the modular way in which the current suite of projects interoperates allows new projects to be integrated and old projects to be removed, while maintaining a coherent whole. One way of moving forward would be to focus on how to continue to evolve the whole suite of tools, whatever that consists of and whatever that entails.
So to give a little more detail to the kinds of infrastructure and tools I'm talking about, here is a (probably still incomplete) list some of the things that the Foundation has done and could continue to do with enough funding. Many of these are focused on supporting developers, but at least some are also about supporting users, which is also an important goal that we could put more focus on if we had funding.
Dependencies
files that live in each branch of each project's repository to figure out what additional projects must be fetched and built and to incrementally build and install dependencies in the right order. There is an on-going effort to replace theDependencies
files with YAML files (config.yml
) which contain more fine-grained project dependence information and additional metadata that could be used for other purposes. Of course, we could also consider moving to a package manager such as conan.All of the above efforts are things that can benefit the entire broader community of developers and users of open-source solvers generally and even developers and users or proprietary optimization software. With the kind of funding we're talking about, the Foundation would surely be able to continue to move things forward in a number of possible dimensions, such as the ones outlined above. What things to pursue in the end is something that would need to be discussed and decided in consultation with the community and those providing the funding, but I hope this makes the answer to the question of what we could do with the funding a little bit more concrete. I'd be happy to hear any comments.
Beta Was this translation helpful? Give feedback.
All reactions