Sửa đổi một ứng dụng nguồn mở


9

Quy trình công việc chung khi tôi muốn thêm một tính năng vào một ứng dụng nguồn mở mà tôi không viết ban đầu là gì? Làm thế nào để tôi biết mã? Làm thế nào để tôi tìm thấy vị trí cần phải thay đổi hoặc thêm vào? Làm thế nào để tôi thực sự thay đổi mà không phá vỡ bất cứ điều gì khác? Làm thế nào để tôi kiểm tra rằng mọi thứ vẫn hoạt động?
Các hướng dẫn chung về một dự án như vậy là gì?


2
Bạn cũng nên gửi các thay đổi của mình cho dự án, thường là một bản vá, để những người khác có thể hưởng lợi.

Câu trả lời:


6

Có một số giao thức, mọi người ít nhiều mong muốn nó theo thời gian, nhưng ở đây, nó không được kiểm soát.

  • Bạn tải về nguồn phân phối.
  • Bạn bắt đầu điều hướng mã một chút

    • Nếu đó là một chương trình được biên dịch, bây giờ bạn học cách biên dịch nó.
    • Nếu bạn không biên dịch nó, bạn báo cáo cho danh sách tác giả / thư và hỏi đường
  • Nếu bạn không thực sự hiểu một điều về mã ...

    • Chà, không, bạn đừng hỏi họ đêm.
    • Bạn bỏ nó đi, vì có lẽ bạn không ngang tầm và không thể giúp được gì.
    • Bạn gửi một tính năng nếu tác giả chấp nhận các yêu cầu tính năng.
  • Khác

    • Bạn tìm vị trí bạn muốn thay đổi.

    • Nếu bạn thắc mắc về một số chi tiết nhỏ, bạn hỏi danh sách tác giả / thư và giải thích ý định của bạn.

    • Bạn cd vào thư mục chính của bản phân phối (cái trên cùng xuất hiện từ unringring / unzipping)

    • Bạn diff -ur . > mypatch.path

    • Bạn gửi mypatch.patchcho tác giả giải thích những gì bạn đã làm, tại sao bạn làm điều đó và (như bạn đã ở đó), bạn nói rõ rằng bạn từ bỏ các quyền trên bản vá cho họ.

  • nếu tác giả không thích sự đóng góp của bạn

    • bạn kiểm tra xem có cách nào để phát hành bản sửa đổi của mình dưới dạng plugin không

      • trong trường hợp đó, bây giờ bạn đang trên đường trở thành một người quản lý plugin .
    • khác

      • bạn truyền lửa về tình huống trên blog của bạn và phát hành bản vá ở đó, miễn phí tải xuống và thử với lời giải thích của bạn và những lời tán dương của bạn,

      • bạn ám ảnh bây giờ và sau đó hệ thống lỗi / danh sách gửi thư cố gắng mua hỗ trợ cho bản vá của bạn. Tránh bị cấm.

    • trong bất kỳ trường hợp nào bạn không sử dụng mã , vì đó là một quá trình rất mệt mỏi và không được thực hiện, bạn sẽ khó có thể theo kịp thời gian: điều đó sẽ khiến người dùng buồn và bối rối. Fork shoud thực sự chỉ xảy ra khi một tập đoàn lớn đang cố gắng bắt nạt các quyết định của mình về một phần của OSS .

  • khác

    • bạn nhận được hướng dẫn thêm từ (các) tác giả đó

Về phía: có một sự thay thế gần đây cho các diff -ur .bản vá và là cách github .

  • Bạn "rẽ nhánh" mã của họ trên github dưới tên của bạn,
    (bây giờ bạn có một bản sao mã của họ trên tài khoản của bạn)
  • kết nối git của bạn với bản sao cá nhân đó của bạn,
  • thực hiện các sửa đổi của bạn trên đó, kiểm tra chúng trong,
  • và nói với tác giả chính để xem dự án github của bạn.

  • Nếu họ thích nó, họ sẽ đồng bộ hóa .

  • Nếu không, bạn có thể liên kết "gitfork" của bạn trên blog của bạn.

Tất cả đều tốt cho đến khi bạn đề nghị OP đốt cháy các tác giả sản phẩm vì không chấp nhận bản vá tính năng mới, không rõ điều này được cho là buồn cười hay nghiêm trọng, dù sao đi nữa, đó là hình thức RẤT xấu để khóc như một đứa trẻ trên toàn thế giới bởi vì một nhóm sản phẩm không thích / muốn bản vá tính năng mới của bạn. Bằng mọi cách, hãy đăng nó lên nhưng luôn luôn hào phóng nếu nó không được chấp nhận, bất kể quyết định đó có vẻ phi logic đến mức nào. -1 - FYI, tôi sẽ vui vẻ đảo ngược phiếu bầu của mình, nếu bạn loại bỏ điều đó.
ocodo

Ứng dụng tôi muốn thay đổi tuân theo một tiêu chuẩn nghiêm ngặt mà với những thay đổi của tôi sẽ phá vỡ tiêu chuẩn. Tôi nghĩ rằng tôi thậm chí không ở vị trí để yêu cầu bản vá của mình được áp dụng.
Dani

@Slomojo OSS đầy những người chưa trưởng thành, và điều đó xảy ra mọi lúc, mọi người nên chuẩn bị để làm việc như một con la và sau đó bị từ chối trên cơ sở đôi khi là rắnđôi khi là moot . Và sau đó, ít nhất, bạn luôn có cơ hội ca ngợi về nó và tìm những người cảm thấy bạn có thể đúng. Bây giờ, từ bỏ mặc dù , đó sẽ là bước sai lầm và rất trẻ con để thực hiện.
ZJR

@Dani lol, bạn thực sự sẽ phải chia sẻ một bản vá và nói về nó . Tránh giả mạo vì nó sẽ tiêu tốn cuộc sống của bạn, nó có cảm giác như tái cấu trúc liên tục mà không có tiền lương. ... Dù sao đi nữa, hãy kiểm tra danh sách gửi thư và hệ thống báo cáo lỗi nếu có, để xem có ai quan tâm đến loại tiện ích mở rộng như vậy không, có lẽ bạn không đơn độc. Điều tốt nhất là họ có một số API để mở rộng hoặc một thứ bổ trợ để bổ sung các thay đổi của bạn vào. Đó luôn là lựa chọn tốt nhất trong những trường hợp như vậy: bảo trì một plugin . ... sẽ chỉnh sửa nó trong.
ZJR

2
nếu có trường hợp kiểm tra tự động, hãy chạy chúng trước khi bạn gửi bản vá.
oenone

0

Điển hình.

Nếu đó là một dự án hệ điều hành ngẫu nhiên, rất có thể bạn sẽ sửa các lỗi nhỏ ở đây và đó.

Cuối cùng, bạn sẽ gửi một loạt các thay đổi, dưới dạng "bản vá".

Thông thường bạn sẽ nhận được quyền cam kết nếu công cụ của bạn là tốt.

Tôi đang nói chung và mơ hồ và không đặc hiệu nhất có thể do câu hỏi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.