프로그래밍 오리엔테이션

보편적인 소프트웨어와 개인적인 소프트웨어

페이스북의 을 옮겨왔습니다. 

---

요즘은
보편적 소프트웨어와
개인적인 소프트웨어의 관계에 대해서
꾸준히 생각해오고 있다.


보편적 소프트웨어는
다른 사람이 사용하도록 만들어진 것을,
개인적인 소프트웨어는
자기가 쓰려고 만든 것을 의미한다.


오랫동안
소프트웨어의 소비자로 살아온 사람은
보편적인 소프트웨어만을 만나게 된다.


자연스럽게 소프트웨어라고 하면
타인이 사용할 수 있는 것을 생각한다.


이런 상태에서
소프트웨어 제작을 마음 먹으면
보편적인 것을 만들려고 한다.


이건 좀 비현실적이다.


자기가 쓸려고 만든 소프트웨어는
복잡하지 않다.
자기가 조심해서 쓰면 되기 때문이다.


남을 위해서 만든 소프트웨어는
복잡하다.


이런 말이 있다.


"고양이가 키보드 위로 지나가도 문제 없도록 코딩하라"


고양이에게도 안전한 것을 만들기 위해서는
많은 것을 해야 한다.

본질은 작은데
본질이 현실에서 존재하기 위해서는
본질보다 훨씬 거대한 것이 필요하다.


이런 복잡성을
입문자가 감당하는 것은
어려운 일이 아닐까?


특히나
보편적 소프트웨어의 환상은
그 소프트웨어의 사용자에서
자기를 누락시키는 오류가 생기기 쉽다.
'이런 걸 만들면 누군가 사용하겠지'라고 생각하면서도
자기 자신은 사용자가 아닌 상황.


자신이 만든 소프트웨어가
진정 자기 자신에게 필요한 것이라면
그것은 자연스럽게 보편성을 띄게 된다.고
나는 믿게 되었다.
사람 사는 것은 다 비슷하기 때문이다.

자기가 쓰려고 만든 것에서
충분한 보편성을 확인했을 때
그것을 타인도 사용할 수 있도록
조심스럽게 확장하는 것이 자연스러운 것 같다.


예전에
웹상에서 사진을 멋지게 보여주는
서비스를 만든 적이 있었다.
성공하지 못했다.


여러 이유가 있었다.
그 중에 하나.


정작 나는
사진찍는 것을
좋아하지 않았다.


생활코딩의 홈페이지로 시작한
opentutorials.org는 그런 점에서 조금 다른 것 같다.
이 것은 만드는 사람들의 필요에 의해서 시작한 것이다.


설령 사용자가 없다고 해도
만드는 사람들이 사용자이기 때문에
이 서비스는 6년 동안 지속 될 수 있었던 것 같다.


보편적인 것에 대한 관심은 자연스러운 것이지만
처음부터 보편적일 수는 없는 것 같다.


개별성이 모이면 일정한 패턴이 생기고,
그 패턴에서 보편성을 발견해서
모두를 위한 것을 추구하는 것이
좀 더 자연스러워 보인다.

댓글

댓글 본문
작성자
비밀번호
  1. 히스토
    뭔가 만들고 싶은 프로젝트 아이디어가 떠올라도.. '보편적 소프트웨어'로 만들 엄두가 안나서 포기한 적이 많았습니다.
    이제부터라도 조금씩 시도를 해봐야겠네요. 힘이 되는 글입니다. 감사합니다.
  2. AlphaNOmega
    모두 소프트웨어를 처음 만들면서 타인들사이에서 자신의 소프트웨어가 다 대박나기를 원하죠
    정작 자신은 쓰지를 않으면서
    처음은 자신이 쓸려고, 취미삼아 만드는 것이
    입문자에게는 가장 마음 편하게 코딩하는 길이 아닐까 생각해봅니다.
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기