gypsy.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <!DOCTYPE HTML>
  2. <html lang="en">
  3. <head lang="en">
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <meta name="Author" content="Eric S. Raymond">
  6. <meta name="Description" content="Evaluating the competition">
  7. <meta name="Keywords" content="GPS, gpsd, gypsy">
  8. <meta name="Revised" content="9 April 2015">
  9. <meta name="robots" content="index,follow">
  10. <title>Why You Should use GPSD over Gypsy</title>
  11. <link rel="stylesheet" href="main.css" type="text/css">
  12. </head>
  13. <body>
  14. <div id="Header">Why You Should use GPSD over Gypsy</div>
  15. <div id="Menu">
  16. <img src="gpsd-logo-small.png" alt="Small gpsd Logo" height="126"
  17. width="105"><br>
  18. <a href="index.html">Home</a><br>
  19. <a href="index.html#news">News</a><br>
  20. <a href="index.html#downloads">Downloads</a><br>
  21. <a href="index.html#mailing-lists">Mailing lists</a><br>
  22. <a href="index.html#documentation">Documentation</a><br>
  23. <a href="faq.html">FAQ</a><br>
  24. <a href="xgps-sample.html">Screenshots</a><br>
  25. <a href="index.html#recipes">Recipes</a><br>
  26. <a href="index.html#others">Other GPSDs</a><br>
  27. <a href="hardware.html">Hardware</a><br>
  28. <a href="for-vendors.html">For GPS Vendors</a><br>
  29. <a href="wishlist.html">Wish List</a><br>
  30. <a href="hall-of-shame.html">Hall of Shame</a><br>
  31. <a href="troubleshooting.html">Troubleshooting Guide</a><br>
  32. <a href="hacking.html">Hacker's Guide</a><br>
  33. <a href="protocol-transition.html">Application Compatibility</a>
  34. <a href="references.html">References</a><br>
  35. <a href="history.html">History</a><br>
  36. <a href="future.html">Future</a><br>
  37. <div>&nbsp;</div>
  38. <a href='http://www.catb.org/hacker-emblem/'><img
  39. src='glider.png' alt='hacker emblem' height="55" width="55"></a><br>
  40. <hr>
  41. <script><!--
  42. google_ad_client = "pub-1458586455084261";
  43. google_ad_width = 160;
  44. google_ad_height = 600;
  45. google_ad_format = "160x600_as";
  46. google_ad_type = "text";
  47. google_ad_channel = "";
  48. //--></script>
  49. <script src="https://pagead2.googlesyndication.com/pagead/show_ads.js">
  50. </script>
  51. <hr>
  52. <a href="https://validator.w3.org/check/referer"><img
  53. src="https://www.w3.org/Icons/valid-html401"
  54. alt="Valid HTML 4.01!" height="31" width="88"></a>
  55. </div>
  56. <div id="Content">
  57. <p>GPSD has recently acquired some competition. In 2008 Iain Holmes
  58. began a project called <a
  59. href="http://gypsy.freedesktop.org/wiki/">Gypsy</a> which intends to
  60. be a better GPS daemon. Holmes has written a citique titled <a
  61. href="http://gypsy.freedesktop.org/why-not-gpsd.html">Why Should You
  62. Use Gypsy over GPSD</a>, to which this note is intended as a
  63. reply.</p>
  64. <p>We'll start off by acknowledging that Holmes's critique raises one
  65. or two valid points. For the specific cases of interactive
  66. applications running on a Linux system, communicating via D-Bus
  67. signals makes sense. Holmes somehow misses the fact that GPSD has
  68. support for publishing fixes to D-Bus, and has for years.
  69. Nevertheless his idea of signaling applications on fix changes rather
  70. than requiring them to poll or use threading is clearly a sound one,
  71. and supporting the signal set he describes is going on GPSD's to-do
  72. list.</p>
  73. <p>What of systems that don't have D-Bus, however? GPSD's mission is
  74. not confined to Linux desktops. We aim to be reliable GPS-handling
  75. infrastructure for the <em>entire</em> open-source community. This
  76. includes BSD machines and embedded deployments where D-Bus would be
  77. considered a frippery. The breadth of our mission should matter
  78. even to Linux users; it means the GPSD project is likely to outlast
  79. any individual, OS-specific component technology such as D-Bus.</p>
  80. <p>Much of Holmes's other criticism seems misdirected to us, too
  81. concerned with how older versions (often <em>much</em> older &mdash; GPSD
  82. has a long history) used to behave, as opposed to what GPSD actually
  83. does now. Nor will we apologize for annotating the code so its
  84. correctness can be rigorously checked; we like our low defect rate,
  85. and we think our users do too.</p>
  86. <p>But we think the most serious problem with Gypsy is that the
  87. designer is over-focused on how GPS information is delivered to
  88. applications, and is skating over the messy details of obtaining it
  89. from actual GPS devices. We are not surprised to find that Gypsy
  90. supports only NMEA devices and doesn't speak the native protocol of
  91. the chipset with 80% market share; dealing with the entire range of
  92. vendor GPS protocols (and autoconfiguring the service layer to do it)
  93. is a difficult job that took us years to get good at.</p>
  94. <p>The odds that Holmes or anyone else could get ahead of GPSD on this
  95. learning curve are, frankly, minuscule. And the odds of anyone
  96. duplicating the infrastructure of regression tests, simulators, and
  97. other tools that we use to verify GPSD's behavior against that
  98. large range of devices and protocol types are even lower.</p>
  99. <p>GPSD's principal developers (ESR and ckuethe, especially) enjoy
  100. focusing on the GPS and systems-architecture end of the problem. If
  101. Iain Holmes had ever shown up on our project list and said "I've got a
  102. better idea about reporting to Linux apps than libgps", our reaction
  103. would have been to cheer him and say "Go to it!".</p>
  104. <p>In summary, we think that the improved D-Bus interface of libgypsy
  105. is a good idea, and we are open to adding those signals to our D-Bus
  106. support. But we also think the Gypsy daemon itself is pretty much
  107. doomed to remain an inadequate and shaky imitation of what GPSD does
  108. right. Finally we think that, given a choice, we'd prefer to cooperate
  109. with the author of libgypsy than fight with him over Gypsy.</p>
  110. <hr>
  111. <script src="datestamp.js"></script>
  112. </div>
  113. </body>
  114. </html>