Chủ Nhật, 30 tháng 9, 2012

SparkFun Electronic đã xây dựng doanh nghiệp phần cứng mở của họ như thế nào


How SparkFun Electronics built their open hardware business
Posted 18 Sep 2012 by Christopher Clark
Bài được đưa lên Internet ngày: 18/09/2012
Lời người dịch: Thế giới nguồn mở tạo ra những mô hình phát triển và mô hình sản xuất hoàn toàn mới mà trước đó chưa từng có. Sparkle là một ví dụ. Hệ thống quản lý của nó toàn là các PMTDNM. “Sparkle, và các hệ thống quản lý nó, tận dụng nhiều phần mềm tự do nguồn mở (PMTDNM). PHP là ngôn ngữ cốt lõi. Nginx là máy chủ web gốc với Varnish cho việc nhớ tạm caching. Mọi thứ chạy trong Debian Linux và dữ liệu sống trong MariaDB (người anh em nguồn mở hơn với MySQL) và MongoDB cho những thứ phi quan hệ. Và caching diễn ra với MemcachedRedis. Ở phía máy trạm, các thư viện như jQuery, D3, và Bootstrap là ở khắp mọi nơi. Bên trong nội bộ, các công cụ hệ thống như Munin, Nagios, Samba, Puppet, và Capistrano (chỉ nêu một số ít) giữ cho mọi thứ hoạt động được”. Hơn thế, “Bây giờ, tất cả điều này chơi tốt với phần còn lại của doanh nghiệp. SparkFun đã và đang thúc đẩy phần cứng nguồn mở vài năm nay. Các sản phẩm được các kỹ sư của SparkFun thiết kế được tung ra với phần dẻo và các lược đồ theo một giấy phép Creative Commons”.
Tại SparkFun Electronics chúng tôi không bán phần mềm, dù chúng tôi có một đội phát triển phần mềm mạnh mẽ. Các lập trình viên đó bỏ một số thời gian trong SparkFun.com, một nền tảng thương mại điện tử với các nội dung mở rộng và các yếu tố cộng đồng được tích hợp. Tuy nhiên, đa số lớn thời gian, được bỏ ra vào Sparkle.
Một người có lẽ gọi Sparkle là một hệ thống ERP (Lên kế hoạch Nguồn lực Doanh nghiệp) dựa vào web. Đây là một quan điểm khác nằm trên đỉnh của cùng các cơ sở dữ liệu nằm bên dưới SparkFun.com nhưng với việc trải dài ra các hệ thống phụ bên trong nôi bộ làm bất kỳ thứ gì bao gồm dịch vụ khách hàng cơ bản, quản lý kho xuất hàng, và quản lý sản xuất.
Sparkle, và các hệ thống quản lý nó, tận dụng nhiều phần mềm tự do nguồn mở (PMTDNM). PHP là ngôn ngữ cốt lõi. Nginx là máy chủ web gốc với Varnish cho việc nhớ tạm caching. Mọi thứ chạy trong Debian Linux và dữ liệu sống trong MariaDB (người anh em nguồn mở hơn với MySQL) và MongoDB cho những thứ phi quan hệ. Và caching diễn ra với MemcachedRedis. Ở phía máy trạm, các thư viện như jQuery, D3, và Bootstrap là ở khắp mọi nơi. Bên trong nội bộ, các công cụ hệ thống như Munin, Nagios, Samba, Puppet, và Capistrano (chỉ nêu một số ít) giữ cho mọi thứ hoạt động được.
Gọi nó là một kho nguồn mở là để nói cho ngắn gọn. Đây là một kiến trúc nguồn mở và nó là rộng khắp doanh nghiệp. Thậm chí các điện thoại của chúng tôi chạy trên Asterisk, một khung công việc điện thoại nguồn mở.
Bây giờ, tất cả điều này chơi tốt với phần còn lại của doanh nghiệp. SparkFun đã và đang thúc đẩy phần cứng nguồn mở vài năm nay. Các sản phẩm được các kỹ sư của SparkFun thiết kế được tung ra với phần dẻo và các lược đồ theo một giấy phép Creative Commons. Đối với tất cả các đồ điện tử mới mà SparkFun đã sản xuất qua các năm thì hãng không nắm giữ một bằng sáng chế nào.
Tất cả những thứ mù mờ ấm áp ở trên là cho các nhân viên đầu óc nguồn mở của chúng tôi. Như một tổ chức, chúng tôi đang đóng góp cho cộng đồng nguồn mở... đúng không? Vâng, cộng đồng phần cứng nguồn mở chảy máu chắc chắn thích thú với sự giàu có của tư liệu mới từ SparkFun. Tuy nhiên, việc tìm kiếm các phần cứng nguồn mở từ đội phát triển của SparkFun hóa ra là khá ít.
At SparkFun Electronics we do not sell software, yet we have a robust software development team. These developers spend some of their time on SparkFun.com, an eCommerce platform with extra content and integrated community elements. The vast majority of their time, however, is spent on Sparkle.
One might call Sparkle a web-based ERP system. It's the other view atop the same databases underlying SparkFun.com but with sprawling internal subsystems that do everything including basic customer service, running the shipping warehouse, and running the manufacturing floor.
Sparkle, and the systems running it, take great advantage of free open source software. PHP is the core language. Nginx is the core webserver with Varnish for caching. Everything runs on Debian Linux and the data lives in MariaDB (MySQL's more open cousin) and MongoDB for the non-relational stuff. And caching happens with Memcached and Redis. On the client side, libraries like jQuery, D3, and Bootstrap are ubiquitous. Internally, systems side tools like Munin, Nagios, Samba, Puppet, and Capistrano (to name just a few) keep the lights on.
To call it an open source stack is to sell it short. It's an open source architecture and it's enterprise-wide. Even our phones run on Asterisk, an open source telephone framework. 
Now, this all jives well with the rest of the business. SparkFun's been pushing open source hardware for a few years. Products designed by SparkFun engineers are released with schematics and firmware under a Creative Commons license. For all the new electronics SparkFun has produced over the years the company doesn't hold a single patent.
All of the above yields warm fuzzies for our open-source-minded staff. As an organization, we're contributing to the open source community...right? Well, the bleeding-edge open source hardware community certainly enjoys a wealth of new material from SparkFun. However, searching for open source software from the SparkFun development team turns up comparatively less.
Để ảo hóa bất kỳ dạng hoạt động nào trên một website chúng tôi có Blode, daemon phát hành sự kiện giống như hệ thống lưu ký. Cũng có StormFS, một lớp ảo hóa FUSE cho lưu trữ đám mây. Rồi tất nhiên có SparkLib, một bộ sưu tập khiêm tốn nhất các thư viện PHP được đặt tên cho phần còn lại của Sparkle. Những thư viện đó, dù chúng ít, lại là đủ cho mục tiêu chung mà ai đó cùng với chúng tôi có thể thực sự muốn sử dụng chúng.
Đó là còn xa so với, nói, Twitter đưa ra bộ khởi động (Bootstrap) và tới lượt nó biến đổi cách mà sự phát triển nhanh của giao diện mặt tiền (front-end) diễn ra đối với một đoạn đáng kể của Internet. Còn tranh cãi các phần mềm nguồn mở của chúng tôi còn chưa có được ảnh hưởng đo đếm được nào. Vì thế những gì Twitter đã làm là đúng chứ? Họ đã không thỏa mãn với các khung CSS hiện đang tồn tại nên họ đã đầu tư vào các tài nguyên của lập trình viên để xây dựng cho riêng họ. Điều đó là đáng sợ, và họ còn chưa kinh doanh bán các khung CSS, nên nọ mở nguồn nó và đã có nhiều sự tham gia vào.
Tại SparkFun chúng tôi đã nhìn vào và không hài lòng gia tăng với các hệ thống ERP dựa trên web. Vì thế, chúng tôi đã quyết định xây dựng của riêng chúng tôi, gọi là Sparkle. Các phần của nó là dạng đáng sợ, và chúng tôi không kinh doanh bán các hệ thống ERP. Chúng tôi sẽ mở nguồn nó chứ?
Tôi được hỏi câu hỏi này nhiều lần. Và thực sự, đó là một mục tiêu dài hạn. Nó thậm chí thông báo cho các quyết định kỹ thuật theo hàng ngày. Tuy nhiên, không giống như Bootstrap, Sparkle vẫn còn đang phát triển từ gốc thủ tục của nó để trở thành một hệ thống dựa vào MVC, theo module, sạch sẽ đi với ít hơn sự nghiêm ngặt đối với sơ đồ và usecase đặc thù của nó. Mở nguồn nó hôm nay có thể là quá là bí hiểm và không bình thường đối với ai đó muốn kho LAMP dùng được ngay mà một hệ thống ERP cho doanh nghiệp đâm chồi nảy lộc của họ. Nhưng việc xây dựng lại các mẩu của nó để trở thành có mục đích chung hơn cũng làm cho sạch hơn, dễ hơn để duy trì mã nguồn và vì thế là một sự theo đuổi đáng giá. Đặt ra cách khác, việc làm sạch kho mã nguồn của chúng tôi và làm cho kho mã nguồn của chúng tôi thành mã nguồn mở có khả năng thực tiễn là thứ y hệt, nên chúng tôi sẽ làm cả 2 và mọi người cùng thắng.
Trong khi chờ đợi, sự say mê của chúng tôi đóng góp trở ngược lại cho cộng đồng nguồn mở hào phóng được cải thiện bằng phần cứng nguồn mở chảy từ các phần khác của công ty - một quá trình liên tục được làm hiệu quả hơn bằng việc phát triển trong Sparkle. Cách đóng góp không trực tiếp này là, cho tới nay, cách tốt nhất để chuyển các tài nguyên của các lập trình viên thành các tư liệu nguồn mở có giá trị trong khi vẫn giữ được doanh nghiệp chạy được.
Cuối cùng, Sparkle sẽ xem ánh sáng vượt ra ngoài các bức tường của SparkFun. Tôi mong chờ cái ngày một công ty non trẻ sử dụng một module Sparkle để quản lý sản xuất hoặc tiên đoán các xu thế sử dụng trong kho hàng. Tuy nhiên, kịch bản đó chỉ có thể có được nếu những gì chúng tôi đưa ra là thực tế có thể chuyển dời được. Vì thế, nó phải chờ đợi. Việc đưa ra chất lượng ngày mai đánh vào việc đưa ra sự ầm ĩ hôm nay.
For visualizing any type of activity on a website we have Blode, our syslog-like event broadcast daemon. There's also StormFS, a FUSE abstraction layer for cloud storage. Then of course there's SparkLib, a modest collection of PHP libraries namespaced out of the rest of Sparkle. These libraries, few though they are, are general-purpose enough that somebody besides us might actually want to use them.
That is a far cry from, say, Twitter releasing Bootstrap and in turn transforming how rapid front-end development happens for a significant chunk of the Internet. Arguably our open source software hasn't had a measurable impact yet. So what has Twitter done right? They were dissatisfied with existing CSS frameworks so they invested developer resources to build their own. It was awesome, and they're not in the business of selling CSS frameworks, so they open sourced it and there was much rejoicing. 
At SparkFun we looked at and grew dissatisfied with web-based ERP systems. So, we decided to build our own, called Sparkle. Parts of it are kind of awesome, and we're not in the business of selling ERP systems. Will we opensource it?
I've been asked this question many times. And actually, that is a long term goal. It even informs technical decisions on a day to day basis. Unlike Bootstrap, however, Sparkle is still developing from its procedural roots to be a clean, modular, MVC-based system coupled less tightly to its schema and specific usecase. Open sourced today it would be far too cryptic and unusable to someone who wants an out-of-the-box LAMP stack ERP system for their burgeoning business. But rebuilding pieces of it to be more general-purpose also generates cleaner, easier to maintain code and is thus a worthwhile pursuit.  Put another way, cleaning up our code base and making our code base open source able are practically the same thing, so we'll do both and everybody wins.
In the meantime, our eagerness to give back to the generous open source community is ameliorated by the open source hardware flowing from other parts of the company—a process continually made more efficient by developing on Sparkle. This indirect way of contributing is, to date, the best way to convert developer resources into valuable open source material while keeping the business running.
Sparkle will see light beyond SparkFun's walls, eventually. I do look forward to the day a fledgling company uses a Sparkle module to run its manufacturing floor or predict usage trends on inventory. That scenario can only play out if what we release is in fact transferable, however. Thus, it waits. Releasing quality tomorrow beats releasing noise today.
Dịch: Lê Trung Nghĩa

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.