MAKIM addresses the need for simplifying project automation and dependency management through a practical and user-friendly tool that streamlines target creation, dependencies, and inputs using the YAML format.

25 Jul 2023 (modified: 01 Aug 2023)InvestinOpen 2023 OI Fund SubmissionEveryoneRevisionsBibTeX
Funding Area: Critical shared infrastructure / Infraestructura compartida critica
Problem Statement: The MAKIM aims to provide a unified and intuitive solution for software development automation by bridging the gap between popular tools like Make and Ansible. It caters to developers who require convenient shortcuts for specific processes, such as database migrations, customized build commands, or launching container stacks with specific configurations. While Make lacks seamless integration with input parameters, help menus, and environment variables, on the other hand, Ansible introduces complexity with its extensive structure and command syntax. MAKIM offers a simple and user-friendly approach through a single .makim.yaml file, allowing users to define targets with dependencies, inputs, variables, environment variables, and help descriptions. This empowers users to leverage the best features of Make and Ansible without the need for extensive learning. The project also plans to introduce future enhancements, including plugin support and integration with other automation tools. Additionally, MAKIM allows users to write their commands in their preferred shell/interpreter flavor, further enhancing flexibility and ease of use.
Proposed Activities: The proposed activities for the MAKIM project include the improvement of the tool with a focus on refining the YAML-based specification format and implementing some core functionalities. Comprehensive documentation and tutorials will be developed to guide users in effectively adopting and utilizing MAKIM. Extensive testing and validation will be conducted to ensure the robustness and reliability of the tool across various use cases and scenarios. Engaging with the community will be a priority, involving open discussions, soliciting feedback, and encouraging contributions to enhance the features and usability of MAKIM. Project outputs will be openly shared through the project website, GitHub repository (https://github.com/osl-incubator/makim), and relevant forums. The timeline for the project spans multiple phases. In Phase 1, standards for user documentation structure and formats will be established, along with improvements to the existing documentation and dissemination efforts. Phase 2 focuses on enhancing the testing stack, developer documentation, and code coverage. Phases 3-4 involve implementing mechanisms for versioned specs, error handling, and sharing video updates. Phase 5 includes adding features like command auto-complete, interactive inputs, Windows support, target definition options, and specific working directories. The project aims to publish the package to conda-forge in Phase 5 as well. Phase 6 introduces support for scheduled jobs and pipelines, while Phase 7 focuses on community engagement, feedback tracking, and sharing project outputs through blog posts and online events.
Openness: MAKIM is an open initiative incubated by the Open Science Labs community, which emphasizes openness in various aspects. The MAKIM tool itself is an open-source project licensed under the BSD 3-Clause license, ensuring unrestricted access, usage, and modification for all interested individuals and organizations. The infrastructure supporting MAKIM, as well as the project output, will be openly shared through the project website and GitHub repository, facilitating easy dissemination and availability. A fundamental aspect of this project is community engagement, actively involving other affiliated communities and projects through the Open Science Labs community. We are dedicated to fostering a vibrant and inclusive community by encouraging feedback, inviting contributions, and facilitating participation through open discussions and collaborative platforms. We firmly believe that openness is a catalyst for innovation, collective intelligence, and the overall growth of the project.
Challenges: Our team possesses a diverse range of skills in software development, including expertise in various programming languages, build automation, DevOps, machine learning, web services, and more. We have experience working on large projects and collaborating within open-source communities. Our partnerships with industry experts, software communities, and academic projects provide specialized knowledge and insights in specific technical domains, enhancing our ability to deliver a robust and efficient solution for the proposed project. We are well-prepared to address challenges and ensure the continued success of the project.
Neglectedness: This is the first time we are seeking funding. The decision to not pursue funding earlier was primarily driven by the project's initial focus on self-sustained development and the utilization of existing resources. However, as the project progresses and gains visibility, we remain open to exploring potential funding avenues to support its long-term sustainability and further enhance its impact. By diligently monitoring funding opportunities and engaging with relevant funding organizations or grants, we aim to secure the necessary resources to maximize the project's potential and deliver a valuable tool to the community. The ongoing development of MAKIM is bolstered by the support and contributions of users who have integrated MAKIM into their projects. These users actively contribute to the development process by expressing their needs for new features and promptly reporting any encountered bugs or issues. Currently, their feedback is primarily shared directly with the developers.
Success: The success of the proposed work can be measured by adoption, feedback, and community growth. Success could be demonstrated by the adoption of the MAKIM tool across various projects and communities. The number of active users and the diversity of projects utilizing MAKIM would indicate its value and relevance in the automation domain. We can use statistics from PyPI and Conda downloads. Positive feedback and testimonials from users would serve as a valuable measure of success. These testimonials would highlight how MAKIM has improved efficiency, streamlined processes, and simplified project automation workflows for its users. The growth of the community surrounding the MAKIM project would be indicative of its success. This includes an increase in the number of contributors, active engagement in discussions, and collaborative participation in feature development. A vibrant and expanding community would demonstrate the project's ability to attract and retain interest, fostering long-term sustainability and continuous improvement. By assessing these metrics, we can effectively gauge the success of the proposed work and its impact on the user community.
Total Budget: US$17500,00
Budget File: pdf
Affiliations: Open Science Labs (community)
LMIE Carveout: MAKIM is part of the incubation project of the Open Science Labs community and it is organized by people from different parts of the world, including Bolivia (LMIE), Argentina, Brazil, Venezuela, Peru, Guatemala, etc. This project will be led by Sandro Loch who lives in Brazil, and will receive mentoring from Ivan Ogasawara (Bolivia), who started the project.
Team Skills: Our team possesses a diverse range of skills in software development, including expertise in various programming languages, build automation, DevOps, machine learning, web services, and more. We have experience working on large projects and collaborating within open-source communities. Our partnerships with industry experts, software communities, and academic projects provide specialized knowledge and insights in specific technical domains, enhancing our ability to deliver a robust and efficient solution for the proposed project.
Submission Number: 33
Loading