mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2024-12-04 19:15:30 +00:00
Adding latest project announcements to repository.
This commit is contained in:
parent
ddb3151b61
commit
66c262c57d
100
docs/announcements/project-update-2022-12-09.md
Normal file
100
docs/announcements/project-update-2022-12-09.md
Normal file
@ -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!
|
109
docs/announcements/project-update-2023-11-25.md
Normal file
109
docs/announcements/project-update-2023-11-25.md
Normal file
@ -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.
|
Loading…
Reference in New Issue
Block a user