HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
go-gl
opengl
HISTORICAL RECORD2013–2013
go-gl / opengl · Not publicly available

opengl

Discover this repository through its Hacker News conversations.

3Distinct people
4Mentions
0Explicit recommenders
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A public description has not been verified.

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day4 dated mentions

Observed mentions: 2013-05-15 07:13:31 UTC to 2013-06-03 01:28:04 UTC.

012013-05-15 00:00:00 UTC to 2013-05-16 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 152013-05-16 00:00:00 UTC to 2013-05-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-17 00:00:00 UTC to 2013-05-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-18 00:00:00 UTC to 2013-05-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-19 00:00:00 UTC to 2013-05-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-20 00:00:00 UTC to 2013-05-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-21 00:00:00 UTC to 2013-05-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-22 00:00:00 UTC to 2013-05-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-23 00:00:00 UTC to 2013-05-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-24 00:00:00 UTC to 2013-05-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMay 242013-05-25 00:00:00 UTC to 2013-05-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-26 00:00:00 UTC to 2013-05-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-27 00:00:00 UTC to 2013-05-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-28 00:00:00 UTC to 2013-05-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-29 00:00:00 UTC to 2013-05-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-30 00:00:00 UTC to 2013-05-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-05-31 00:00:00 UTC to 2013-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2013-06-01 00:00:00 UTC to 2013-06-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-06-02 00:00:00 UTC to 2013-06-03 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2013-06-03 00:00:00 UTC to 2013-06-04 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 3

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
May 152013-05-15 00:00:00 UTC2013-05-16 00:00:00 UTC101
May 162013-05-16 00:00:00 UTC2013-05-17 00:00:00 UTC000
May 172013-05-17 00:00:00 UTC2013-05-18 00:00:00 UTC000
May 182013-05-18 00:00:00 UTC2013-05-19 00:00:00 UTC000
May 192013-05-19 00:00:00 UTC2013-05-20 00:00:00 UTC000
May 202013-05-20 00:00:00 UTC2013-05-21 00:00:00 UTC000
May 212013-05-21 00:00:00 UTC2013-05-22 00:00:00 UTC000
May 222013-05-22 00:00:00 UTC2013-05-23 00:00:00 UTC000
May 232013-05-23 00:00:00 UTC2013-05-24 00:00:00 UTC000
May 242013-05-24 00:00:00 UTC2013-05-25 00:00:00 UTC000
May 252013-05-25 00:00:00 UTC2013-05-26 00:00:00 UTC000
May 262013-05-26 00:00:00 UTC2013-05-27 00:00:00 UTC000
May 272013-05-27 00:00:00 UTC2013-05-28 00:00:00 UTC000
May 282013-05-28 00:00:00 UTC2013-05-29 00:00:00 UTC000
May 292013-05-29 00:00:00 UTC2013-05-30 00:00:00 UTC000
May 302013-05-30 00:00:00 UTC2013-05-31 00:00:00 UTC000
May 312013-05-31 00:00:00 UTC2013-06-01 00:00:00 UTC101
Jun 12013-06-01 00:00:00 UTC2013-06-02 00:00:00 UTC000
Jun 22013-06-02 00:00:00 UTC2013-06-03 00:00:00 UTC101
Jun 32013-06-03 00:00:00 UTC2013-06-04 00:00:00 UTC101

What Hacker News says

4 sources
> In short, original developer has the clone of the OpenGL library in their 'src' directory. While working on Haunts his making changes to it and not pulling updates from upstream. All is well, things will always build on his machine because as you say, it won't update unless he does 'go get -u'. The important addition is -- he does not check this clone into his OWN source control, so his source control doesn't have a complete hermetic version of the application, it has a "partial" application... or really "application bits". > Fast forward to when the community takes over, they clone the Haunts project and attempt to build it. Now they are using the HEAD of the 'github.com/go-gl/opengl/gl' repository, as specified by the imports path and they find that it no longer compiles. If he had checked it into his version control system (you might
Read the rest
call it forking, I call it localizing), they would have had the EXACT same version as him and they would not have had to fulfill that dependency on their own. Also, the same import path would continue to work off this local checked in version. > By forking, or maintaining your own copy of library, you get a level of isolation from the upstream developers. I thought that maintaining your own local copy of libraries under /src was the norm for go developers, as the value of hermetic checkouts goes hand in hand with some other Go'isms like static built binaries.
In Golang dependency hell in Haunts The Manse game
So the key part of the update I was referring to was the following: Because of course that's not how it really works. Instead, it makes a local copy of that external library. And if you have a local copy, you can edit it. And meanwhile, that person you copied the OpenGL code from? They are also changing their version (fixing bugs, adding features, adding bugs). In short, original developer has the clone of the OpenGL library in their 'src' directory. While working on Haunts his making changes to it and not pulling updates from upstream. All is well, things will always build on his machine because as you say, it won't update unless he does 'go get -u'. Fast forward to when the community takes over, they clone the Haunts project and attempt to build it. Now they are using the HEAD of the 'github.com/go-gl/opengl/gl' reposito
Read the rest
ry, as specified by the imports path and they find that it no longer compiles. This is where the problem exists. The simplest way around this problem is to simply fork the OpenGL Go library (like they have), and reference the fork in the import path. That way no matter what happens in the upstream repository, the Haunts project will continue to compile. The original developer could of then just pushed the changes he was making in his local 'src' directory back to the fork and everything would be fine. When they are ready to take updates from upstream, they simply update their fork and then 'go get -u' on all developer machines. By forking, or maintaining your own copy of library, you get a level of isolation from the upstream developers. What you are saying is 100% correct, the Go tools automatically give you this when running 'go get', it clones the library into your 'src' directory. What I am saying is that when working in a team/community environment, you need an additional level of isolation (the fork), so that the entire team can be using the exact same version of the library. > I feel like one of us is bat shit insane, and at this point, I am just hoping it isn't me. I don't think (hope) either of us are, just not thinking on the same track :) I hope what I've written is clear enough that you can see what I was saying.
In Golang dependency hell in Haunts The Manse game
Did they have a fork with local changes? The way I read it, they just did import "github.com/go-gl/opengl/gl" and then at some point the go-gl project (which they don't manage) made incompatible changes that broke their build. Presumably there is some version of go-gl they could build against (which happened to be cached on their developer's machine), but they don't know which one because there's no version or tag in that string.
In Indie game Haunts unable to compile its Go code

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.