Sự kết hợp của những phát minh về he thing bảng thông báo và những thói quen cũ cũ của những người phát triển phần mềm để chia sẻ mã nguồn miễn phí
với nhau đã thúc đẩy sự mở rộng của Internet trên phạm vi toàn cầu vào những năm 90. Tiến trình phát triển này đã khơi nguồn cho ý tưởng về 1 mô hình phát triển phần mềm mới – OSS - cách phát triển ứng dụng khá mới lạ.
OSS cho rằng mã nguồn nên miễn phí và có thể sửa chữa hoặc bổ sung mà không cần trả tiền. Feller và Fitzgerald (2000) đã trình bày một số động lực và phương hướng cho phát triển OSS như sau:
- Tính kĩ thuật; cần thiết phải có những mã mạnh, vòng đời phát triển nhanh hơn, đạt những tiêu chuẩn chất lượng cao hơn, đáng tin cậy và ổn định và hơn hết là tính mở.
- Tính thương mại; sự hợp tác cần cho cả việc san sẻ lợi nhuận cũng như rủi ro.
- Về chính trị, xã hội; thỏa mãn những sở thích cá nhân, mong muốn về công việc có ý nghĩ và hướng tới cộng đồng.
Phần lớn mọi người đều biết rằng dự án phát triển OSS lấy trọng tâm là những công cụ phát triển hoặc những môi trường được các chuyên gia sử dụng
để phát triển chúng thêm, vì vậy cùng lúc, họ đóng vai trò là người sử dụng và nhà phát triển. OSS không phải là một bản thing kê các thực nghiệm phát triển phần mềm đã được định nghĩa hay đã được ra đời mà nó được mô tả chính xác hơn trong thuật ngữ về những quyền hạn khác trong việc phân phối phần mềm. Sáng kiến về mã nguồn mở sẽ công nhận và cấp bản quyền cho những phần mềm đáp ứng các yêu cầu của OSS.
Mặc dù có những khác biệt trong những mặt như tính thương mại, về cách tổ
chức nhóm so với các phương pháp linh hoạt khác nhưng trong 1 số tình huống, các suy nghĩ và thực hiện lại có những điểm giống nhau, ví dụ như tiến trình phát triển OSS bắt đầu với những việc cho ra đời sớm và thường xuyên các bản thử nghiệm và nó thiếu rất nhiều các cơ chế truyền thống, cái mà được sử dụng cho hợp tác phát triển phần mềm với những kế hoạch, thiết kế cấp độ, lập lịch và những tiến trình đã định. Thông thường, một dự án OSS bao gồm các bước sau:
- Tìm hiểu vấn đề
- Tìm những người tình nguyện - Định ra cách giải quyết
- Phát triển và kiểm thử mã nguồn - Thay đổi mã nguồn
- Tổ chức phát hành
Mặc dù có thể mô tả phương pháp phát triển phần mềm OSS theo những bước trên nhưng sự quan tâm lại nằm ở chỗ quản lí những bước trên như thế nào, sau đây là một vài đặc điểm mô tả phương pháp phát triển OSS :
- hệ thống được xây dựng bởi số lượng lớn những người tình nguyện - Công việc không được phân định rõ ràng mà mọi người tự chọn công việc mà mình thích
- Có những thiết kế cấp độ hệ thống không rõ ràng - Không có kế hoạch, lịch trình
- Hệ thống phát triển theo những bước tiến nhỏ
- Chương trình được kiểm thử thường xuyên
Theo Feller và Fitzgerald (2000), tiến trình phát triển OSS được tổ chức là một cách phát triển và những cố gắng gỡ lỗi trong phạm vi rộng 1 cách song song, nó bao gồm sự hợp tác và những cống hiến của những người phát triển.Tuy nhiên, cũng có những dấu hiệu chỉ ra rằng ý tưởng phát triển miễn phí này đang dần thay đổi vì tiến trình phát triển OSS không có bất kì một quy tắc hay thói quen được chuẩn hóa nào thế nhưng tiến trình này vẫn liên quan đến thói quen và những điều cấm kịđã được học hoặc rút ra từ thực nghiệm.