2009-08-16 1 views
2

몇 가지 일반적인 목적으로 몇 가지 일반적인 유틸리티 (항아리)를 만들었습니다. 일부 친구들은 이러한 유틸리티를 사용하기를 원합니다. 나는 내 물건을 무료로 공유 할 준비가되어 있지만, 더 이상 다시 배포하지 않을까 걱정됩니다.jar 유틸리티를 선택한 친구와 공유하는 법?

내 jar의 클래스 파일에 대한 다음 코드에서 설명하는 것처럼 java에있는 내용입니다.

public class UtilityClass{ 

      static{ 

       long secretCode = 7534759 ; 
       //a hardcoded long value (hardcoded by me for my friend) 
       //related to friend's Computer System which either 
       // don't changes untill he reformats his computer 
       // or is something like motherboard serial number or etc..etc... 

       long buddiesSystemSecretCode = getSecretCode() ; 

       if(!(buddiesSystemSecretCode == secretCode)){ 
        System.exit(1) ; 
       } 
      } 

      private static long getSecretCode(){ 
       long secretCode = 0 ; 

       //any java code to get friend's System hardware specific code 

       return secretCode ; 
      } 
     } 

답변

4

그런 간단한 것은 쉽게 디 컴파일되어 제거 될 수 있습니다.

코드를 배포 할 가능성에 대해 두려워하는 이유는 무엇입니까? 코드를 복사하기 어렵게 만드는 비용 (시간 및/또는 돈)과 재배포의 실제 피해를 비교 검토해야합니다.

PC 게임 회사는 복제 방지에 많은 노력을 기울 였고 게임이 얼마나 빨리 금이 갔는지 봅니다. 그 길이로 가고 싶니? 이 코드에 얼마나 많은 가치를 부여하고 있습니까? 실제로 상업적이지는 않지만 유용하다면 어쨌든 오픈 소스로 만들지 않는 이유는 무엇입니까?

4

친구 인 경우 신뢰할 수 있습니다. 코드 배포를 요청하십시오.

다른 대안은 친구의 전자 메일 주소 &의 해시 코드를 사용하여 복사 방지 체계를 조사하는 것입니다. 그러나 심각하게도, 파일을 전달하지 않을 것을 신뢰하지 않는다면 왜 "친구"와 "친구"라고 생각합니까?

1

누구도 코드를 재배포 할 수 없다는 라이센스 통지를 코드에 넣으십시오. 나중에 코드를 다시 배포하면 친구를 감옥에 갇힐 수 있습니다.

PS. OpenSource로 이동하십시오.

관련 문제