TAK Project Index (TAK PI) is just a simple hub for some of @trabdlkarim most important software development projects. You can think of it as a personal development lab with various projects that you could customize for your own use upon downloading.
The TAK PI projects are mainly a collection of Python development projects that are independently developed by Toure A. Karim. TAK PI is a community-driven organization with the goal to maintain and improve those projects.
The purpose of TAK PI is to provide a home for the individual projects so that users have a central place to go to to report bugs, provide patches and get releases. The idea of TAK PI is to be an inclusive community around the projects that all live and breathe by the same rules to make the projects less dependent on the original author without compromising the design ideas behind them.
One of the most important ways to develop your skills and improve your employability as a software engineer is to work on side projects, for instance open source projects, helpful tools and scripts.
It is not always so easy to start a new good software development project. Sometimes, we want to work on side projects but struggle to come up with a good idea. That is where TAK PI projects come in play. The projects of this index can help you fight “side project paralysis” by offering diverse projects that an intermediate software developer can start in one weekend. The emphasis here is not on projects that are going to change the world. Instead, these are important and fun projects to give you something to add to your portfolio and make you a better developer.
The TAK Projects are suited for all levels engineers trying to beef up their software engineering fundamentals. They’ll help you learn more about specific aspects of computing, like file transfer and operating systems design. These projects can be particularly useful for self-taught developers who’ve focused more on practical skills than computer science fundamentals. They projects will also help you achieve a practical goal, while also improving your software engineering skills.
TAK PI does not have a strong structure yet and maybe that will not change. The head of the information organization is Toure A. Karim and potentially controversial decisions are signed off through him.
The purpose of the TAK Project Index is primarily to reduce the risk of the projects to depend too much on a single person and secondly to document the otherwise very opaque processes a bit. All important decisions will still be made by Toure A. Karim until a better structure emerges naturally but ideally most problems fall into categories that are well enough covered by the Governance section of this website.
We learned the hard way with the projects that reliance on external services can both be a huge maintenance burden as well as be a great help in avoiding to have to maintain a bunch of services ourselves. As such the process going forward is to absolutely embrace external services for as long as we know how to migrate off them if necessary and that we’re sufficiently convinced that they are well run. For instance we’re very happy to be reliant on GitHub, Travis-CI and other services for code hosting and similar things.
The permission structure is managed on GitHub which is our primary home for the projects. In particular it also shows who can commit to different projects and how.