diff --git a/docs/announcements/project-update-2022-12-09.md b/docs/announcements/project-update-2022-12-09.md new file mode 100644 index 0000000..427751b --- /dev/null +++ b/docs/announcements/project-update-2022-12-09.md @@ -0,0 +1,100 @@ +# PDA Project Update + +## Introduction + +Hello PDA community members, + +My name is Matt Scott, and I am the owner of [Azorian Solutions](https://azorian.solutions), a consultancy for the +Internet Service Provider (ISP) industry. I'm pleased to announce that I have taken ownership of the PDA project and +will be taking over the lead maintainer role, effective immediately. + +Please always remember and thank both [Khanh Ngo](https://github.com/ngoduykhanh) and +[Jérôme Becot](https://github.com/jbe-dw) for their efforts in keeping this project alive thus far. Without the effort +of Khanh creating the PDA project and community, and the efforts of Jérôme for holding up the lead maintainer role after +Khanh had to step down, this project would not still be alive today. + +With that being said, please read through all the following announcements as they are important if you're an active PDA +user or community member. I intend to make many great enhancements to the project, but it could be a bumpy road ahead. + +### Project Maintenance + +As it stands today, contributions to the project are at a low. At this point, there is a rather large backlog of issues +and feature requests in contrast to the current maintenance capacities. This is not to say you should lose hope though! +As part of this project transition, some additional contribution interest has been generated and I expect to attract +more with the changes I'm planning to make. In the near future, I may by-pass some usual maintenance processes in order +to expedite some changes to the project that have been outstanding for some time. + +This is to say however that unless the project attracts a healthy new contribution base, issues may continue to pile up +as maintenance capacity is rather limited. This is further complicated by the fact that the current code base is harder +to follow naturally since it largely lacks uniformity and standards. This lack of uniformity has lead to a difficult +situation that makes implementing certain changes less effective. This status quo is not uncommon with projects born how +PDA was born, so it's unfortunate but not unexpected. + +### Change of Direction + +In order to reorganize the project and get it on a track to a future that allows it to contend with other commercial +quality products, I had to make many considerations to the proficiencies of two unique paths forward to achieve this +goal. One path forward is seemingly obvious, continue maintaining the current code base while overhauling it to shift it +towards the envisioned goal. The other path is a fresh solution design with a complete rebuild. + +The answer to the aforementioned decision might seem obvious to those of you who typically favor the "don't reinvent the +wheel" mentality. I'm unclear of the details surrounding the original use-case that drove the development of this +project, but I don't believe it was on-par with some use-cases we see today which include operators handling many tens +of thousands of zones and/or records. There are many changes that have been (sometimes) haphazardly implemented which +has lead to the previously mentioned lack of uniformity among other issues. To put it simply, I'm not sure if the +project ever had a grand vision per se but instead was mostly reactionary to community requests. + +I believe that the current project has served the community fairly well from what I can tell. I know the product has +certainly helped me in my professional efforts with many environments. I also believe that it's time to pivot so that +the project can realize it's true potential, considering the existing user base. For this reason, I am beginning the +planning phase of a project overhaul. This effort will involve a complete re-engineering of the project's contribution +standards and requirements, technology stack, and project structure. + +This was not an easy decision to come to but one must appreciate that there aren't as many people that can get very +excited about working on the current project code base. The current project has many barriers to entry which I intend to +drastically impact with future changes. The reality is that it's easier to gain contribution participation with a new +build effort as it offers an opportunity to own a part of the project with impactful contributions. + +### Project Enhancements + +Since this is the beginning of a rebirth of the project so to speak, I want to implement a new operational tactic that +will hopefully drive contributions through incentive. Many of us understand that any project, needs a leader to stay on +track and organized. If everything were a democratic process, it would take too long and suffer unnecessary challenges. +With that being said, I do believe that there is plenty of opportunity through-out various development phases of the +project to allow for a democratic process where the community contributors and members can participate in the +decision-making. + +The plan to achieve the aforementioned democratic goal is to centralize communications and define some basic structured +processes. To do this, more effective methods of communication have been implemented to allow those interested in +contributing to easily participate in fluid, open communication. This has already been proving to be quite effective for +exchanging ideas and visions while addressing the issue with contributors living in vastly different time zones. This is +effectively a private chat hosted by the PDA project using Mattermost (a Slack-like alternative). + +Even if you aren't in a position to directly contribute work to the project, you can still contribute by participating +in these very important and early discussions that will impact the solution engineering. If the PDA project is an +important tool in your organization, I encourage you to join the conversation and contribute where applicable your +use-cases. Having more insight on the community use-cases will only benefit the future of this project. + +If you're interested in joining the conversation, please email me at +[admin@powerdnsadmin.org](mailto:admin@powerdnsadmin.org) for an invitation. + +### Re-branding + +As part of this project transition, I will also be changing the naming scheme in order to support the future development +efforts toward a newly engineered solution. The current PDA project will ultimately become known as the "PDA Legacy" +application. This change will help facilitate the long-term solution to take the branding position of the existing +solution. Another effort I will be making is to get an app landing page online at the project's new domain: +[powerdnsadmin.org](https://powerdnsadmin.org). This will act as one more point of online exposure for the project which +will hopefully lend itself well to attracting additional community members. + +### Contribution Requirements + +Another big change that will be made with the new project, will be well-defined contribution requirements. I realize +these requirements can be demotivating for some, but they are a necessary evil to ensure the project actually achieves +its goals effectively. It's important to always remember that strict requirements are to everyone's benefit as they push +for order where chaos is quite destructive. + +### Closing + +I hope these announcements garner more participation in the PDA community. The project definitely needs more help to +achieve any goal at this point, so your participation is valued! diff --git a/docs/announcements/project-update-2023-11-25.md b/docs/announcements/project-update-2023-11-25.md new file mode 100644 index 0000000..5e1719f --- /dev/null +++ b/docs/announcements/project-update-2023-11-25.md @@ -0,0 +1,109 @@ +# PDA Project Update + +## Introduction + +Hello PDA community members, + +I know it has been quite awhile since the last formal announcement like this. Things have been quite busy and difficult +for me both professional and personally. While I try hard to never make my problems someone else's problems, I do +believe it's important to be transparent with the community. I'm not going to go into details, but I will say that I +have been dealing with some mental health issues that have been quite challenging. I'm not one to give up though, +so I'm pushing through and trying to get back on track. + +With that being said, let's jump into the announcements. + +### Project Maintenance + +Granted I haven't been nearly as active on the project as I would like to be, I have been keeping an eye on things and +trying to keep up with the maintenance. I know there are a lot of issues and feature requests that have been piling up, +and I'm sorry for that. Even if I had been more active in recent months, it would have not changed the true root cause +of the issue. + +This project was started out of a need for an individual's own use-case. I don't believe it was never intended to be a +commercial quality product nor a community project. It did however gain traction quickly and the community grew. This +is a great thing, but it also comes with some challenges. The biggest challenge is that the project was never designed +to be a community project. This means that the project lacks many of the things that are required to effectively manage +a community project. This is not to say that the project is doomed, but many of the fast-paced changes combined with +the lack of standards has lead to a difficult situation that makes implementing certain changes incredibly unproductive +and quite often, entirely counter-productive. + +After many years of accepting contributions from those who are not professional developers, the project has become quite +difficult to maintain. This is not to say that I don't appreciate the contributions, but it's important to understand +that the state of the code-base for the project is not in a good place. This is not uncommon with projects born how PDA +was born, so it's unfortunate but not unexpected. + +As of today, there are so many dependencies and a large amount of very poorly implemented features that it's difficult +to make any changes without breaking many other pieces. This is further complicated by the fact that the current code +base is harder to follow naturally since it largely lacks uniformity and standards. This lack of uniformity has lead to +a situation where automated regression testing is not possible. This is a very important aspect of any project that +expects to be able to make changes without breaking things. This is also a very important aspect of any project that +expects to be able to accept contributions from the community with minimum management resources. + +The hard reality is that the majority of stakeholders in the project are not professional developers. This naturally +means the amount of people that can offer quality contributions is very limited. This problem is further aggravated by +the poor quality feature implementation which is very hard to follow, even for seasoned developers like myself. So many +seemingly small issues that have been reported, have lead to finding that the resolution is not as simple as it seems. + +### New Direction + +As I previously stated in my last formal announcement, we would be working towards a total replacement of the project. +Unfortunately, this is not a simple task, and it's not something that can be done quickly. Furthermore, with +increasingly limited capacity in our own lives to work on this, we are essentially drowning in a sea of technical debt +created by the past decisions of the project to accept all contributions. We have essentially reached a point where +far too much time and resources are being wasted just to attempt to meet the current demand of requests on the current +edition of PDA. This is a tragedy because the efforts that are invested into the current edition, really aren't +creating true progress for the project, but instead merely delaying the inevitable. + +As I have stated before to many community members, one aspect of taking over management of this project to ultimately +save it and keep it alive, would involve making hard decisions that many will not agree with. It's unfortunate that +many of those who are less than supportive of these decisions, often lack the appropriate experience to understand the +importance of these decisions. I'm not saying that I'm always right, but I am saying that it's not hard to see where +this is headed without some drastic changes. + +With all of that being said, it's time for me to make some hard decisions. I have decided that the best course of +action is to stop accepting contributions to the current edition of PDA. At this point, due to the aforementioned +issues that lead to breaking the application with seemingly simple changes, it's just not worth the effort to try to +keep up with the current edition. This is not to say that I'm giving up on the project, but instead I'm going to +re-focus my efforts on the new edition of PDA. This is the only way to ensure that the project will survive and +hopefully thrive in the future. + +I will not abandon the current set of updates that were planned for the next release of `0.4.2` however. I have +re-scheduled that release to be out by the end of the year. This will be the last release of the current edition of +PDA. The consensus from some users is that the current edition is stable enough to be used in production environments. +I don't necessarily agree with that, but I do believe that it's stable enough to be used in production +environments with the understanding that it's not a commercial quality product. + +### Future Contributions + +For those of you wondering about contributions to the new edition of PDA, the answer for now is simple. I won't be +accepting any contributions to the new edition until I can achieve a stable release that delivers the core features of +the current edition. This is not to say that I won't be accepting any contributions at all, but instead that I will be +very selective about what contributions I accept. I believe this is the only way to ensure that a solid foundation not +only takes shape, but remains solid. + +It is well understood that many developers have their own ways of doing things, but it's important to understand +that this project is not a personal project. This project is a community project and therefore must be treated as such. +This means that the project must be engineered in a way that allows for the community to participate in the development +process. This is not possible if the project is not engineered in a way that is easy to follow and understand. + +### Project Enhancements + +It should be understood that one of the greatest benefits of this pivot is that it will allow for a more structured +development process. As a result of that, the project could potentially see a future where it adopts a whole new set of +features that weren't previously imagined. One prime example of this could be integration with registrar APIs. This +could make easy work of tasks such as DNSSEC key rotation, which is currently a very manual process. + +I am still working on final project requirements for additional phases of the new PDA edition, but these additions +won't receive any attention until the core features are implemented. I will be sure to make announcements as these +requirements are finalized. It is my intention to follow a request for proposal (RFP) process for these additional +features. This will allow the community to participate in the decision-making process for future expansion of the +project. + +### Closing + +I hope that by the time you have reached this point in the announcement, that I have elicited new hope for the +long-term future of the project. I know that many of you have been waiting for a long time for some of the features that have been +requested. I know that many of you have been waiting for a long time for some of the issues to be resolved, for +requested features to be implemented, and for the project to be more stable. It's unfortunate that it has taken this +long to get to this point, but this is the nature of life itself. I hope that you can understand that this is the only +reasonable gamble that the project survives and thrives in the future.