문제

현재 저는 고객을 위해 스스로 개발 한 Django 앱을 주최하고 있지만 이제는 사람들이 자신을 호스트 할 수 있도록 사람들에게 판매하기 시작했습니다.

내 질문은 이것입니다 : Django 앱을 패키지하고 판매 할 수있는 방법은 무엇입니까? 많은 .py 파일을 배포하는 것은 내가 판매하는 사람들이 사본을 만들어 전달할 수 있기 때문에 좋은 생각처럼 들리지 않습니다.

이 문제의 목적 상이 문제를 구매하는 모든 사람이 동일한 (램프) 설정을 실행한다고 가정하는 것이 안전 할 것이라고 생각합니다.

도움이 되었습니까?

해결책

코드를 시도하거나 난독 화하거나 암호화하지 마십시오. 절대 작동하지 않습니다.

Django 응용 프로그램을 "서비스"로 판매하는 것이 좋습니다. 그리고 지원. 재분배하는 것을 금지하는 계약을 작성하십시오.

즉, 코드를 어떤 식 으로든 난독 화하기로 결정한 경우 - Python 응용 프로그램을 전적으로 .pyc (Python Compiled Byte -Code)로 배포 할 수 있습니다. Py2app의 작동 방식입니다.

여전히 재배치 할 수 있습니다. 하지만 파일을 편집하는 것은 매우 어려울 것입니다. 따라서 몇 가지 기본 라이센스 물건을 추가 할 수 있으며 몇 가지에 의해 장애가되지 않습니다. #에스..

내가 말했듯이, 나는 당신이 암호화 또는 난독 화 등을 통해 불법 복제에 성공하지 못할 것이라고 생각하지 않습니다. 고객에 따라 간단한 계약 및 일부 기본 점검은 일부 복잡한 암호 해독 시스템보다 훨씬 오래 진행될 것입니다. (그리고 응용 프로그램 사용 경험을하십시오 더 나은, 대신에 바라건대 더 나쁘지 않기를 바랍니다)

다른 팁

내가 생각하는 방식은 이것입니다.

  1. 모든 코드를 암호화합니다
  2. 머신의 호스트 이름 및 라이센스 파일로 서버에 연락하고 암호 해독 키를 가져온 다음 코드를 해독하고 Python Bytecode로 컴파일하는 설치 프로그램을 작성하십시오.
  3. (설치자에) 추가에서 기계의 호스트 이름과 라이센스 파일을 점검하고 일치하지 않으면 사망하는 모듈을 추가하십시오.

이런 식으로 사용자는 호스트 이름이 변경되고 첫 번째 설치시 서버에만 연락해야하지만 작은 보안 계층을 얻습니다. 호스트 이름을 더 복잡한 것으로 바꿀 수는 있지만 실제로는 필요하지 않습니다. 해적을 원하는 사람은 그렇게 할 것이지만, 그와 같은 간단한 메커니즘은 정직한 사람들을 정직하게 유지할 것입니다.

AMI (Amazon Machine 인스턴스)로 모든 것을 포장 한 다음 앱을 실행하도록 할 수 있습니다. 아마존 EC2. 이 솔루션의 좋은 점은 아마존이 청구를 처리하십시오, 전체 머신 이미지를 배포하므로 모든 클라이언트가 동일한 램프 스택을 사용하고 있는지 확인할 수 있습니다. AMI는 원하는 그러나 원하는 암호화 된 기계 이미지입니다.

일회성 수수료, 사용 기반 수수료 또는 월 수수료로 Amazon Bill에게 고객을 가질 수 있습니다.

물론이 솔루션은 고객이 아마존에서 앱을 호스팅하고 적절한 수수료를 지불해야합니다.

"암호화"파이썬 소스 코드 (또는 바이트 코드 또는 파이썬뿐만 아니라 사용하는 모든 언어의 바이트 코드)는 일부 사람들이 웹 페이지에 올려 놓기 위해 오른쪽 마우스 버튼을 비활성화하려고 시도하는 작은 JavaScript와 같습니다. " 이제 내 이미지를 훔칠 수 없습니다! "

해결 방법은 사소하며 결정된 사람을 막을 수는 없습니다.

Python 소프트웨어를 판매하는 것이 진지하다면 진지하게 행동해야합니다. 라이센스/계약 조건을 작성하여 변호사에게 지불하고 구매시 사람들이 동의하도록 한 다음 실제 소프트웨어를 갖도록하십시오. 즉, 라이센스/계약 조건을 위반하면 사람들을 법정에 가져와야하지만, 어떤 일이 있어도 (누군가가 "암호화"를 깨고 소프트웨어 배포를 시작하는 경우) 서명과 함께 이미 종이에 설정된 실제 적절한 형태의 법적 단어는 장기적으로 비즈니스에 훨씬 더 좋습니다.

당신이 정말로 저것 그러나 사람들에 대한 편집증은 소프트웨어를 "도둑질"하지만 호스팅 된 모델을 고수하고 서버에 액세스하지 마십시오. 많은 성공적인 비즈니스가 그 모델을 기반으로합니다.

당신은 실제로 그것을 원하는 사람들로부터 소스 코드를 유지할 수 없습니다. 지금이 사실을 파악하고 나중에 두통을 구하는 것이 가장 좋습니다.

친구로서 솔직하게 말해도 될까요? 앱이 정말 놀랍지 않으면 많은 구매자를 얻지 못할 수도 있습니다. 왜 변호사, 난독 화, 라이센스 및 무엇에 대한 시간을 낭비합니까? 코드를 오픈 소싱하고 유지함으로써 더 나은 평판을 얻습니다.

Django는 라이센스 (및 난독 화)에서 스펙트럼의 오픈 소스 끝에서 나옵니다. 물론 MIT 라이센스는 GPL보다 더 일반적입니다. 여전히 그들은 Microsoft의 EULA와 같은 것에서 멀리 떨어져 있습니다. 많은 djangophiles는 Microsoft가하는 일이기 때문에 닫힌 소스 코드로 발전 할 것입니다.

또한 사람들은 코드를 읽고 악의적 인 코드가 포함되어 있지 않은지 확인할 수 있기 때문에 코드를 더 신뢰할 수 있습니다. "obfuscating"은 "숨어"를 의미합니다. 그리고 누가 당신이 무엇을 숨겼는지 정확히 알 수 있습니까?

물론, 오픈 소스 코드를 수익을 창출하는 쉬운 방법은 없습니다. 그러나 당신은 당신의 모든 위대한 일에 감사하는 사람들을 위해 서비스를 제공하거나 pledgie.com에 캠페인을 게시 할 수 있습니다.

당신이 고려하고 싶은 한 가지는 Fogbugz가하는 일입니다. 대상 플랫폼에 대해 편집 된 소형 바이너리 (아마도 C 프로그램)를 포함시키고 라이센스를 검증하기위한 코드를 포함합니다.

이렇게하면 정직한 사람들을 최소한의 두통으로 정직하게 유지할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top