Thư gửi nhóm PHP


Cho bất cứ ai đóng góp vào PHPtừ một nhà phát triển vùng người dùng.

Hãy để tôi bắt đầu bằng việc cảm ơn những người tích cực làm việc trên PHP dự án. Những người đóng góp vào phần cốt lõi, phần mở rộng, duy trì tài liệu hoặc bỏ phiếu cho RFCs: cảm ơn vì một ngôn ngữ mà tôi có thể sử dụng hàng ngày cả trong công việc lẫn cuộc sống cá nhân. PHP đã là một công cụ rất hữu ích với tôi trong nhiều năm và thật vui khi thấy nhiều người đóng góp giúp làm cho nó tốt hơn mỗi ngày.

Tôi cũng muốn đề cập rằng tôi cũng như mọi người đều có thành kiến ​​xác nhận. Khi đề cập đến một hoặc hai suy nghĩ trong bức thư này, tôi sẽ cố gắng hết sức để khách quan nhất có thể, mặc dù tôi nhận ra rằng mình đang nhìn qua lăng kính của mình chứ không phải của ai khác.

Vì mục đích của bức thư này là để bắt đầu một cuộc trò chuyện nên tôi rất sẵn lòng lắng nghe những suy nghĩ của bạn. Ngoài ra nếu họ không phù hợp với tôi, xin vui lòng không đồng ý.


Tôi có thể tiếp tục bằng cách liệt kê rất nhiều điều tốt đẹp – có rất nhiều. Mặc dù vì tôi muốn giữ bức thư này đúng chủ đề nên tôi sẽ không làm vậy. Đừng coi điều này là tôi là một nhà phát triển bất mãn, tôi chỉ đơn giản muốn truyền đạt những gì tôi muốn nói một cách hiệu quả.

Tôi muốn viết về cách PHP được hình thành và phát triển ngày nay. Tôi cảm thấy rằng tôi, với tư cách là nhà phát triển vùng người dùng, biết đôi điều về việc sử dụng PHP trong các dự án thực tế. Tôi tin rằng tôi có ý kiến ​​có căn cứ và phù hợp về vấn đề này.

Gần đây chúng tôi đã thấy một số cuộc thảo luận liên quan đến RFC quá trình bỏ phiếu. Bên cạnh những thay đổi gần đây về quy tắc bầu cử, cũng có một số vấn đề gây tranh cãi. RFCđã thông qua cuộc bỏ phiếu và gây ra một số – trong một số trường hợp, rất nhiều – tranh cãi.

Hai gần đây RFCĐiều tôi nghĩ đến: việc ngừng sử dụng các thẻ mở ngắn cũng như một số ngừng sử dụng nhỏ đối với PHP 7.4.

Cả hai RFCĐiều này đã gây ra cuộc thảo luận về việc liệu những thay đổi này có thực sự mang lại lợi ích cho ngôn ngữ hay không, liệu chúng có nên được phép chỉ với 2/3 đa số phiếu bầu hay không và liệu chúng có bị coi là có hại cho ngôn ngữ hay không. PHP cộng đồng.

Cơ sở cho hầu hết các cuộc thảo luận này là thực tế rằng PHP cố gắng duy trì khả năng tương thích ngược càng nhiều càng tốt. Một trong những suy nghĩ chính đằng sau điều này là chúng tôi muốn người dùng luôn cập nhật các công nghệ hiện đại PHP các phiên bản khác, vì vậy chúng ta nên cung cấp cho chúng càng ít vấn đề càng tốt để nâng cấp.

Đúng ra, các bài học đã được rút ra từ kỷ nguyên 5.*. Tôi cũng chia sẻ quan điểm rằng tất cả PHP các nhà phát triển và hệ sinh thái nên cố gắng cập nhật. Đó là thông điệp mà các công ty và nhà phát triển nên nói với khách hàng của mình khi bắt đầu mọi dự án: việc giữ an toàn và cập nhật sẽ tốn thời gian, tốn kém tiền bạc và không có cách nào có trách nhiệm để tránh điều đó.

Đó là một đặc điểm của tính chuyên nghiệp.

Mặt khác: nếu chúng tôi muốn đạt được tính chuyên nghiệp này với khách hàng của mình, chúng tôi cũng được phép dành một khoảng thời gian hợp lý để nâng cấp. Sẽ không phải là ngày tận thế nếu có một sự thay đổi không tương thích ngược. Chúng ta có thể giải quyết nó.

Là người sử dụng hàng ngày của PHP, Tôi cũng đã chia sẻ về các dự án cũ cần cập nhật. Hãy để tôi nói với bạn điều này: tôi thích hơn nhiều PHP để tiến về phía trước và trưởng thành hơn là tôi dành ít thời gian hơn cho việc nâng cấp.

Trong một ngôn ngữ trưởng thành, rõ ràng là một số nội dung cũ đã được dọn sạch. Điều đó có nghĩa là ngôn ngữ đôi khi loại bỏ hai cách để thực hiện cùng một việc. Điều đó có nghĩa là, chẳng hạn, các thẻ mở ngắn không được dùng nữa và bị xóa. Nó có nghĩa là đôi khi mã của tôi sẽ bị hỏng. Và miễn là ngôn ngữ phát triển một cách tốt đẹp và lành mạnh thì tôi không bận tâm.

Nếu bạn là một trong những người bảo vệ nhiệt tình cho khả năng tương thích ngược: Tôi biết bạn có ý tốt. Nhưng tôi không nghĩ đó là vấn đề lớn mà bạn kiếm được từ nó. Thế giới sẽ không kết thúc chỉ vì có một sự thay đổi đột ngột. Chúng tôi, những nhà phát triển vùng người dùng, sẽ quản lý.

Chúng ta đừng lãng phí quá nhiều thời gian với những cuộc thảo luận lặp đi lặp lại dường như không có hồi kết. Hãy tiến về phía trước một cách cân bằng.


Nói về cách chúng ta sử dụng thời gian. Những người nội bộ đang thảo luận về cơ chế bỏ phiếu và phải làm gì với những vấn đề gây tranh cãi RFCs trong nhiều tháng nay.

Chúng ta không nên bắt đầu xem các cộng đồng khác làm điều này như thế nào sao? Chắc chắn PHP không thể là ngôn ngữ nguồn mở duy nhất ngoài kia?

Hãy gọi cách hiện tại của PHPsự phát triển của nó thực sự là như thế nào: những cuộc thảo luận tương tự diễn ra lặp đi lặp lại hàng tuần hoặc hàng tháng mà không có bất kỳ tiến triển nào; mọi người thường xuyên tấn công cá nhân người khác; một điều không đáng kể RFC mất nhiều tháng thảo luận và yêu cầu bỏ phiếu lại sau khi được chấp nhận; không có cách nào tốt để chia sẻ phản hồi mang tính xây dựng ngoài danh sách gửi thư lớn; nhóm cử tri dường như không đại diện chính xác cho thực tế PHP cộng đồng.

Tôi có công bằng không khi gọi hệ thống này, ít nhất là một phần, đã bị hỏng?

Tôi tin rằng hệ thống của chúng tôi cần được đánh giá kỹ lưỡng và tôi nghĩ chúng tôi nên hãy xem các cộng đồng nguồn mở bên ngoài PHP quản lý để tiếp tục phát triển dự án của họ một cách lành mạnh.

Một ví dụ là TC39ủy ban quản lý ECMAScript, hay còn gọi là JavaScript. Tiến sĩ Axel Rauschmayer đã viết một bài rất hay về cách TC39 quá trình hoạt động. Bây giờ, bạn có thể yêu hoặc ghét JavaScript, nhưng rõ ràng là họ đang làm điều gì đó ngay tại đó, nhờ sự thành công lâu dài của ngôn ngữ này trong nhiều năm qua.

Một trong những điều họ làm đúng là kênh giao tiếp cởi mở với cộng đồng của họ. Giao tiếp minh bạch và có thể truy cập được giữa những người đóng góp và người dùng thông qua GitHub. Một ngôn ngữ khác thực hiện điều này là Rust, cung cấp một diễn đàn mở để thảo luận về cách ngôn ngữ được hình thành.

Một nơi mở như GitHub hoặc một diễn đàn sẽ giảm bớt rào cản mà hầu hết các nhà phát triển vùng người dùng gặp phải với danh sách gửi thư nội bộ. Nhiều người trong chúng tôi đã đọc nó, mặc dù rất ít nhà phát triển vùng người dùng thực sự cảm thấy họ có thể bày tỏ quan điểm của mình về nó. Tôi nghĩ có hai lý do cho việc này:

  • Danh sách gửi thư khó điều hướng so với các diễn đàn và chủ đề
  • Đó thường là một nơi thù địch, thiếu sự lịch sự cơ bản và sự điều độ thích hợp

Giao tiếp tốt hơn sẽ đóng lại sự mất kết nối hiện tại giữa hai nhóm, nó sẽ cho phép PHP để trở thành những gì phần lớn thực tế của PHP người dùng muốn nó như vậy.

Ngoài giao tiếp, còn có vấn đề về những tính năng nào cần được thêm vào ngôn ngữ. TC39 cung cấp một khuôn khổ rõ ràng về cách ngôn ngữ có thể phát triển; đó là một hệ thống ưu việt hơn và ít gây nhầm lẫn hơn PHPhiện tại của RFC quá trình.

Tôi đã đề cập rằng RFC quá trình này đã là một cuộc tranh luận sôi nổi liên tục trong những tháng qua; đó là thời điểm mà nhiều người RFC các đề xuất trong danh sách gửi thư dẫn đến cùng một cuộc thảo luận lặp đi lặp lại mà không có kết quả. Chúng ta hãy nhìn lại các ủy ban như TC39và sửa nó một lần và mãi mãi.


Còn nhiều việc phải làm để khắc phục quy trình bị hỏng hiện tại của PHPphát triển của nó, nhưng hôm nay tôi không thể liệt kê mọi thứ ở đây. Vì vậy tôi nghĩ sẽ tốt hơn nếu tiếp tục cuộc trò chuyện. Đề xuất của tôi là truy cập Reddit nơi chúng ta có thể thảo luận thêm hoặc gửi email cho tôi.

Trân trọng

Dầu Brent


Cập nhật ngày 29 tháng 8: Joe Watkins rất tốt bụng khi viết thư trả lời. Bạn có thể đọc nó ở đây.

Bạn có thể đọc câu trả lời của tôi cho Joe ở đây.



Leave a Comment

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Scroll to Top