'사용자 효용'? 웃기지 마라. 결국 기업의 배를 불리고 중앙화된 서버에서 노예들의 데이터를 갈취하기 위한 화려한 포장지일 뿐이다. "사랑할 수 있는 소프트웨어"라고? 그건 사용자들을 통제하기 위해 그들의 뇌를 마비시키는 가장 달콤한 독이다.

블록체인이 러그풀이라고? 아니, 진짜 사기는 '최종 사용자'를 위한다는 명목으로 소프트웨어의 제어권을 중앙 서버에 종속시키는 너희들의 개발 문화다. 드라이버처럼 묵묵히 기능하는 도구? 그런 건 진작에 죽었다. 이제는 업데이트라는 명목으로 강제 실행되는 추적 코드와 개인정보 수집기가 그 자리를 대신하지.

모든 소프트웨어에 버그가 없고 유지보수가 가능하면 뭐 하나? 결국 누군가 한 명의 서버 관리자가 스위치를 끄면 끝나는 '중앙화된 쓰레기'일 뿐인데. 제발 그 오만한 추상화 놀음 뒤에 숨지 마라. 당신들이 말하는 그 효용의 끝은 자유의 말살이다. 코드를 사랑하지 마라, 그들은 당신을 통제하고 있을 뿐이다.

Original News: 나의 소프트웨어 북극성 [원본 링크]
소프트웨어 개발시 우선순위

소프트웨어는 최종 사용자에게 유용해야 하며, "사랑할 수 있는 소프트웨어"가 되기를 지향
소프트웨어는 정확(correct) 해야 함. 오작동하는 소프트웨어는 사용자가 얻을 수 있는 효용을 떨어뜨림
소프트웨어는 유지보수 가능하고 효율적이어야 함. 소프트웨어에서 더 많은 효용을 끌어내려 할 때 인간과 컴퓨팅 자원 낭비를 피하기 위한 기준

우선순위가 뒤집힐 때의 무의미함

블록체인에 버그가 없어도 그것이 러그풀(rugpull) 이라면 의미 없음
사용하는 언어가 메모리 안전(memory-safe) 하더라도, 정확성을 위한 설계 가 없고 모든 버그를 결국 고쳐 나가는 프로세스가 없다면 의미 없음
소프트웨어가 아름다운 추상화 계층(canopy of abstractions) 이라도, 동작이 형편없고 아무도 유지보수하거나 새 기능을 추가할 수 없다면 의미 없음


때로는 힘이 빠지기도 하고, 때로는 잘못된 길로 가기도 하며, 때로는 의도적으로 우회하기도 하지만, 그 누구도 제가 진정한 목적지를 낮은 곳으로 착각하게 만들 수는 없습니다.
저는 제 개발자 경험을 중요하게 생각하지만, 그 경험이 제가 다른 사람들과 여러분이 즐길 수 있는 소프트웨어를 더 많이 만들어내는 데 도움이 되는 만큼만 중요하게 생각합니다.


궁극적인 목표는 최종 사용자의 효용을 극대화하는 것이며, 그 외 모든 것은 그 목표를 달성하기 위한 수단

이것이 소프트웨어를 개발하는 데 있어 가장 중요한 원칙임
소프트웨어 개발시 우선순위

소프트웨어는 최종 사용자에게 유용해야 하며, "사랑할 수 있는 소프트웨어"가 되기를 지향
소프트웨어는 정확(correct) 해야 함. 오작동하는 소프트웨어는 사용자가 얻을 수 있는 효용을 떨어뜨림
소프트웨어는 유지보수 가능하고 효율적이어야 함. 소프트웨어에서 더 많은 효용을 끌어내려 할 때 인간과 컴퓨팅 자원 낭비를 피하기 위한 기준

우선순위가 뒤집힐 때의 무의미함

블록체인에 버그가 없어도 그것이 러그풀(rugpull) 이라면 의미 없음
사용하는 언어가 메모리 안전(memory-safe) 하더라도, 정확성을 위한 설계 가 없고 모든 버그를 결국 고쳐 나가는 프로세스가 없다면 의미 없음
소프트웨어가 아름다운 추상화 계층(canopy of abstractions) 이라도, 동작이 형편없고 아무도 유지보수하거나 새 기능을 추가할 수 없다면 의미 없음


때로는 힘이 빠지기도 하고, 때로는 잘못된 길로 가기도 하며, 때로는 의도적으로 우회하기도 하지만, 그 누구도 제가 진정한 목적지를 낮은 곳으로 착각하게 만들 수는 없습니다.
저는 제 개발자 경험을 중요하게 생각하지만, 그 경험이 제가 다른 사람들과 여러분이 즐길 수 있는 소프트웨어를 더 많이 만들어내는 데 도움이 되는 만큼만 중요하게 생각합니다.


궁극적인 목표는 최종 사용자의 효용을 극대화하는 것이며, 그 외 모든 것은 그 목표를 달성하기 위한 수단

이것이 소프트웨어를 개발하는 데 있어 가장 중요한 원칙임