부가 기능 개발자 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 방문자에게 노출되는 주요 부분으로, 유용하고 반드시 소개해야 할 부가 기능들이 들어있는 작은 목록을 말합니다. 이곳에선 매우 특별한 기능을 가진 잘 만든 부가 기능이거나 Mozilla 소프트웨어의 기능을 매우 인상적으로 향상시켰거나 AMO에 올라온 수천가지 부가 기능중 인지도가 상승중인 부가 기능 등이 실리게 됩니다. 목록은 추천 및 분류별 추천 두가지로 구분됩니다. 전자의 경우 AMO 첫 페이지에 40개 한정으로 표시됩니다. 후자는 각 분류 페이지마다 추천 목록으로 표시됩니다. 두 목록간 유일한 차이점이 있다면 분류별 추천 부가 기능은 첫 페이지에 소개되지 않는다는 것입니다. 이 점을 제외하곤 두 목록 다 부가 기능 개발자와 그들이 제작한 부가 기능이 이룩한 위업을 알린다는 의의를 가지고 있습니다.

추천 부가 기능이 뭔가요?

AMO 메인 페이지와 각 분류 메인 페이지에는 추천 부가 기능 표시에 쓰이는 슬롯 3개가 있습니다. 이들 부가 기능은 추천 부가 기능 FAQ에 명시된 대로 이용자의 노출 기회 증가를 위해 일정 주기에 따라 개별적으로 돌아가며 추천 목록 및 분류별 추천 목록에서 빠지게 됩니다. 추천 부가 기능도 진부함을 방지하기 위해 주기적으로 순환됩니다.

부가 기능이 추천 목록에 오르려면 어떻게 해야 하나요?

이 페이지는 추천 목록이 관리되는 과정을 서술하고 있습니다.

부가 기능이 추천 목록에 오르려면 돈을 지불해야 하나요?

아니오.

왜 제 부가 기능이 더이상 추천 목록에 오르지 않는건가요?

이 페이지는 추천 목록이 관리되는 과정을 서술하고 있습니다.

사용자 평가

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

개발자는 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.