부가 기능 개발자 FAQ

부가 기능 개발

How do I build an Add-on?

Mozilla provides documentation on how to build an add-on via the Mozilla Developer Network.

기타 자원 포함:

부가 기능을 개발하려면 무슨 도구가 필요한가요?

개발할 부가 기능에 맞는 Mozilla 소프트웨어와 취향에 맞는 코드 편집기가 필요할 겁니다. 부가 기능은 모든 Mozilla 소프트웨어용으로 제작이 가능하지만 가장 선호되는 소프트웨어는 바로 이것이죠:

인기 코드 편집기:

You can also learn more about setting up your development environment via the MDN article Setting up extension development environment

".xpi"는 무슨 파일인가요?

확장 기능은 XPI ("지피"로 발음) 확장자를 통해 ZIP 파일이나 묶음 상태로 패키징되어 배포됩니다.

XUL이 무엇인가요?

XUL (XML User Interface Language)이란 Mozilla의 XML 기반 언어로 풍부한 기능을 가진 크로스 플랫폼 애플리케이션을 개발할 수 있습니다. 버튼, 메뉴, 도구 모음, 트리 등의 사용자 인터페이스 자원을 제공하며 웹 브라우저 UI의 각 부위를 조정해서 부가 기능을 향상시키는데 쓸 수 있습니다.

"install.rdf" 파일은 어떤 용도로 쓰이나요?

설치 선언문이라 불리는 이 파일은 부가 기능 관리자가 인식해서 부가 기능이 설치시 관련 정보를 읽어들이는데 쓰입니다. 부가 기능을 인식하는 메타 데이터를 담고 있으며, 제작자는 누구이며 어디서 추가적인 정보를 찾아볼 수 있는지, 호환되는 애플리케이션 버전은 어떤 것이 있는지, 업데이트는 어떻게 해야 하는지 등에 관한 정보를 제공합니다. 설치 선언문의 형식은 RDF/XML 입니다.

"maxVersion"은 뭘 의미하나요?

이 확장 기능이 작동 가능한 Firefox의 최대 버전을 말합니다. 현재 최신 버전보다 높은 버전으로 설정하면 안됩니다!

부가 기능에 이진 콤포넌트를 넣을 수도 있나요?

예. Mozilla의 XPCOM 콤포넌트 오브젝트 모델을 사용하면 부가 기능의 성능을 향상시킬 수 있습니다. XPCOM 콤포넌트는 C++뿐 아니라 자바스크립트, 자바, 파이썬으로도 구현할 수 있습니다.

jQuery, MooTools, Prototype 같은 자바스크립트 라이브러리를 사용해서 부가 기능을 제작할 수 있나요?

Yes. It's possible, but some of the functionality provided by these libraries are available through XPCOM, XUL, and JavaScript. In addition, authors should take care if libraries modify primitive object prototypes (String.prototype, Date.prototype, etc.) and/or define global functions (eg. the $ function). These are prone to cause conflict with other add-ons, in particular if different add-ons use different versions of libraries and so on. Developers need to be very, very careful with using them. Mozilla does not offer documentation on using them to build add-ons.

How do I debug my add-on?

You can use the Add-on Debugger.

최신 버전의 Mozilla 소프트웨어에 대한 호환성 테스트를 하려면 어떻게 해야 하나요?

To ensure compatibility with the latest Mozilla software, it's important to download updates as they become available and test your add-on to ensure that it is still functioning as expected. In many cases, the latest version of Mozilla software may be a beta release. Since these releases at times introduce architectural changes that may impact the functionality of your add-on, it's important to be actively involved in the beta process to ensure that your add-on users are not negatively impacted upon final release of Mozilla software.

How to improve the performance of my add-on?

Poorly written extensions can have a severe impact on the browsing experience, including on the overall performance of Firefox itself. The following page contains many good guides that help you improve performance, whether you're developing core Mozilla code or an add-on.

부가 기능이 다국어를 지원할 수 있나요?

Yes. Details on localizing your add-on can be found in the the Mozilla Developer Network Localization page. The BabelZilla project is also a great resource for learning about localization and volunteering to help translate add-ons.

자원 제공

부가 기능 제작에 조언이 필요합니다. 어디에서 도움을 받을 수 있을까요?

Mozilla에선 개발 서비스를 제공하고 있나요?

아니오.

부가 기능 제작에 고용할 서드파티 개발자가 있을까요?

Yes. You may find 3rd party developers via the Add-ons forum, mozilla.jobs list, mozillaZine forums or the Mozilla Wiki. Please note that Mozilla does not offer developer recommendations.

부가 기능에 기부금 설정하기

부가 기능을 직접 호스팅해도 될까요?

예. 많은 개발자들이 호스팅을 선택하고 있습니다. 다만, Mozilla의 부가 기능 사이트에 호스팅하는 쪽이 많은 방문자에게 부가 기능을 더욱 많이 노출시킬 수 있을겁니다. mozdev.org의 경우 Mozilla 애플리케이션 및 확장기능에 대한 무료 프로젝트 호스팅을 제공합니다. 이곳에선 소스 코드 관리 도구, 버전 콘트롤, 버그 트래킹, 문서자료 등을 지원하고 있습니다.

Mozilla에서 부가 기능을 호스팅 해준다구요?

예. Mozilla의 부가 기능 웹사이트에서 호스팅 할 수 있습니다.

AMO가 뭔가요?

Mozilla의 AMO(https://addons.mozilla.org)는 개발자에게 개발, 배포, Mozilla가 제공하는 환상적인 소비자 기술 지원 등의 도움을 주는 인큐베이터라 할 수 있습니다. 도구 및 관리에 필요한 기반 시설 등을 제공함으로써 부가 기능을 수많은 Mozilla 이용자들에게 노출시키는 역할을 하고 있습니다.

Mozilla에선 제 계정 정보를 안전하게 지켜주나요?

예. 저희의 개인 정보 보호 정책에 Mozilla가 어떻게 개인 정보를 관리하는지 서술되어 있습니다.

AMO에 있는 "개발자 도구"란 무엇을 말하는 건가요?

"개발자 도구" 대쉬보드는 부가 기능을 관리하기 위해 제공되는 도구들이 있는 구역을 말합니다. AMO에 부가 기능을 제출하거나, 부가 기능 정보 관리, 통계 조회 등에 필요한 기능들을 제공하고 있습니다.

Mozilla에선 어떤 부가 기능이 용인되는지에 대한 정책을 마련하고 있나요?

예. Mozilla의 부가 기능 정책에 어떤 것이 용인되는지 서술되어 있습니다. 이 정책은 별도의 고지 없이 변경됩니다. 여기에 추가로 AMO 편집자 팀에선 편집자 심사 지침을 사용해 기능이나 보안 유지가 지침에 부합하는지도 검사합니다.

심사를 받기 위해 부가 기능을 제출하려면 어떻게 해야 하나요?

개발자 도구 대시보드에서 부가 기능을 업로드하면 AMO에 제출됩니다. 부가 기능을 제출하기 전에 AMO에 등록해야 합니다. 부가 기능을 제출하기 전에 AMO 편집자 심사 지침을 읽어보고 편집자 지침에 부합하는지 여부도 확인해 보시기 바랍니다.

부가 기능에 어떤 운영 체제를 선택해야 하나요?

부가 기능이 제대로 작동하는 운영 체제로 선택해야 합니다.

부가 기능에 어떤 분류를 지정해줘야 하나요?

분류 선정은 주 이용층과 기능적 측면에서 검토한 후 선정합니다. 넣을만한 적당한 분류가 없다고 생각되면 "기타"를 골라주세요. AMO 팀에서 보다 알맞는 분류가 있다고 판단되면 향후 다른 분류로 재분류할 수도 있습니다.

부가 기능 사용시 라이선스 동의서를 표시하게 수 있나요?

예. 부가 기능 제출시 라이선스 동의서를 넣을 수 있습니다. 부가 기능 제출 후에도 언제든 개발자 도구를 통해 라이선스 동의서를 추가하거나 갱신할 수 있습니다.

개인 정보 보호 정책을 부가 기능에 삽입할 수 있나요?

예. 부가 기능 제출시 개인 정보 보호 정책을 넣을 수 있습니다. 부가 기능 제출 후에도 언제든 개발자 도구를 통해 개인 정보 보호 정책을 추가하거나 갱신할 수 있습니다.

부가 기능 심사 과정

부가 기능을 반드시 심사받아야 하는 이유가 뭔가요?

제출된 모든 부가 기능은 신규든 업데이트든 Mozilla 이용자가 안정적이고 안전한 경험을 제공받도록 심사를 거쳐야 합니다. 모든 부가 기능은 편집자 심사 가이드에 명시된 가이드라인을 통해 심사를 받습니다.

부가 기능은 누가 심사하나요?

부가 기능은 AMO 편집자에 의해 심사를 받습니다. 편집자들은 Mozilla 사용자들에게 안정성을 확보하고 제대로 된 사용 경험을 유지하기 위한 부가 기능 심사 프로젝트를 돕기 위해 선발된 유능한 개발자로 이루어진 자원 봉사자 조직입니다. 편집자들과 소통시엔 예의를 지켜서 말씀해 주시기 바랍니다. 이 분들은 당신의 부가 기능이 정확하게 설정되어 있는지, 편집자 심사 지침에서 밑줄 친 사항을 잘 따르고 있는지를 가려내기 위해 열심히 일하는 중이니까요.

부가 기능 심사에 쓰이는 지침이 뭔가요?

The Mozilla editorial team follows the Editors Reviewing Guide when testing an add-on for acceptance onto AMO. It is important that add-on developers review this guide to ensure that common problem areas are addressed prior to submitting their add-on for review. This will greatly assist in expediting the review process.

부가 기능 심사엔 어느 정도 기간이 소요되나요?

심사를 해보기 전까진 어느정도 걸릴지 예측이 불가능합니다. 다음의 여러 요소들이 시간에 영향을 끼칩니다:

  • 제출된 부가 기능 수
  • 부가 기능 코드의 복잡성
  • 문제 지역 발견 횟수

이러한 이유로 편집자 심사 지침을 읽어보고 부가 기능이 의도한 대로 설정되었는지 확인하는 작업이 매우 중요하다는 것입니다. 성공적인 부가 기능 심사와 같은 블로그 글을 읽고 원만한 부가 기능 심사 통과에 대한 이해를 높이는 것도 좋은 생각입니다.

부가 기능 관리하기

부가 기능이 몇회나 다운로드 되었는지 알 수 있나요?

개발자 도구의 통계 대시보드에서 AMO에 제출된 이후 다운로드 횟수에 대한 정보를 제공하고 있습니다.

부가 기능을 실제 사용중인 이용자 수를 알 수 있나요?

개발자 도구의 통계 대시보드에서 AMO에 제출된 이후 실제 사용중인 이용자 수가 몇인지에 대한 정보를 제공하고 있습니다.

부가 기능의 업데이트는 어떻게 제출하나요?

개발자 도구 대시보드의 "새 버전 업로드" 옵션을 골라 새 .xpi 파일을 업로드해서 업데이트를 제출할 수 있습니다.

업데이트도 편집자의 심사가 필요한가요?

그때그때 다릅니다. 단순히 부가 기능 설명이나 Mozilla 소프트웨어 신버전과의 호환성 유지를 목적으로 "maxVersion" 정도만 변경한다면 재심사가 필요하지 않습니다. 하지만 새로 업데이트된 파일을 제출했을 시엔 편집자의 심사를 받게 될 것입니다.

사용자 평가

부가 기능에 부정적인 평가를 올린 이용자에게 답글을 올리려면 어떻게 해야 하나요?

개발자는 AMO에 로그인만 하면 어떤 평가든 답글을 달 수 있습니다. 거기에 이용자에겐 다음과 같은 표식도 할 수 있습니다:

  • 스팸이거나 내용이 평가가 아닙니다
  • 부적절한 언어/대화입니다
  • 없는 버그를 신고했거나 기술 지원을 요청합니다
  • 기타 (세부 사항을 묻는 팝업창이 뜹니다)

현재 AMO에선 심사원과 직접 연결해주는 메커니즘을 제공하고 있지 않지만 이러한 기능은 향후 업데이트를 통해 개발을 고려중에 있습니다.

부정적인 평가에 대해서 삭제를 요청할 수 있나요?

아니오. 저희는 부정적인 평가들이 허위라고 판단되지 않는 이상 평가들을 제거하지 않습니다.

정확하지 않은 평가에 대해서 제거를 신청할 수 있나요?

작성자가 부정확한 내용이 있는 평가에 대해 저희에게 삭제를 요청할 경우, 저희가 그 글을 검토해본뒤 삭제여부에 대해 결정하게됩니다.

오픈 소스 라이선스에 대해 알아보기

다양한 오픈소스 라이선스에 대한 정보가 필요하십니까? 어떤 라이선스를 선택해야 할지 궁금하신가요? 전체 라이선스 내용을 확인하지 않더라도 아래 사이트에서 각종 라이선스 정보를 비교해 드립니다. 그러나, 이 정보들은 개인적인 용도 및 정보의 역할만 하는 것이고 법적인 정보는 아닙니다. Mozilla는 이들 정보에 대해 책임을 지거나 정보의 신뢰성에 대한 보장을 하지 않습니다.

https://www.mozilla.org/MPL/

Mozilla Public License("MPL")에 대한 전체 내용에 대해 FAQ를 이용하시면 자주 묻는 질문에 대한 답을 보실 수 있습니다.

https://techbase.kde.org/Policies/Licensing_Policy

오픈 소스 라이선스별로 상용 소프트웨어 연결 및 변경 코드 재배포 등에 대한 비교 및 요약 정보

http://www.gnu.org/licenses/license-list.html

자유소프트웨어재단은 주요 오픈 소스 라이선스에 대한 간단한 요약 및 카피레프트나 자유 SW 라이선스에 대한 정보와 이에 대한 토론 정보를 제공합니다.

http://opensource.org/licenses/category

오픈 소스 이니시티브도 주요 오픈 소스 라이선스에 대한 정보를 제공합니다.

https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses

A comparison of known open source licenses on Wikipedia.

http://choosealicense.com/

A site to provide non-judgmental guidance on choosing a license for your open source project.