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