Skip to content

Latest commit

 

History

History
383 lines (198 loc) · 31.4 KB

cm1ows6qi000009k68b3o33yj.md

File metadata and controls

383 lines (198 loc) · 31.4 KB
title seoTitle seoDescription datePublished cuid slug cover tags
metaKGP: Beyond the Wiki
metaKGP: Beyond the Wiki
Explanation of metaKGP, addressing myths, and clarifying misconceptions about the organization and its projects
Mon Sep 30 2024 11:10:43 GMT+0000 (Coordinated Universal Time)
cm1ows6qi000009k68b3o33yj
metakgp-beyond-the-wiki
opensource, koss, kossiitkgp, iitkgp, kgp, metakgp, metakgp-wiki, kgp-wiki, kgp-open-source

Context

Hi there, it's 6 in the morning, yet again (read the opening of the previous article for context). I was already tired after taking 4 class tests, including one surprise test yesterday (I mean, the dates have changed, so what if I haven't slept yet ¯\_(ツ)_/¯). Still, it was a peaceful day until I came across this comment, "So, you guys are collecting everyone's ERP credentials officially now?" on the latest release of GYFT - Get Your Freaking Time-Table (explanation coming ahead). This, followed by other misconceptions, broke the dam and flooded here in this article.

Hi, it’s me from the future, the old me who started to write this article (more like, rant) 2-3 days before the midsems couldn’t complete it before them. And, this is present me completing the article (or, rant or whatever) with more incidents (more like ranting material) which happened in just this short period of time, related to the release of WIMP - Where Is My Prof.

Disclaimer

So, this is me busting myths, stating facts, and explaining current dynamics about metaKGP. Also, ranting here and there on related topics. Just to be clear - if it wasn't already from above - these are my thoughts on how I perceive the situation at hand. Until I mention specifically that this is a statement from metaKGP as an organization, then it implies that these are my personal views only and are not endorsed by metaKGP at all.

Also, I will be using some screenshots of texts that I have received recently (without disclosing any names or without providing enough information that reduces the search space). These are just shared as an example of how to or how not to do a certain thing, in whatever context the conversation’s screenshot is used.

Recommendation
For those whose brains have been affected by excessive consumption of short-form content, resulting in shortened attention spans, this article/rant can be read in 2 parts:

What should you expect from this article?

  • My ranting here and there

  • Clarifying misconceptions around metaKGP’s functioning and its projects

  • Understanding the past situation of metaKGP and how those led to the current situation

  • Understand the what and why of metaKGP

  • How to report an issue / ask for support

Busting myths

There are quite a lot of myths which people assume by themselves. Simply put, some things are assumed to be true by connecting dots as one sees fit. And all of them just make me go crazy ( ╯°□°)╯ ┻━━┻

metaKGP is supported by the administration

No! Not at all!

Neither in the past nor in the present!

And I don’t see this happening even in the distant future (I would be glad if this happens, though). To be more precise:

Association with Hall, Gymkhana & Institute level POR

  • Any POR (even if they have “tech” in their names) does NOT have any role or say in metaKGP - AT ALL. Any Gymkhana / Hall / Institute position (focus, I am talking about the “position”; not the “person” holding the position) doesn't have a say in what, when, and how metaKGP does.

    It might be possible that someone from metaKGP holds the above-described position, but that doesn't imply that the position itself has a role in metaKGP. For example, when you approached me in the last tenure (the academic year 2023-2034) when I was serving as the Technology Coordinator for anything related to metaKGP, you approached Arpit Bhardwaj, NOT the Technology Coordinator.

    Warning

    Stay alert from “neta” type people who claim that they have a role (or say) in metaKGP just because they hold a POR. I have seen, people leveraging the name of metaKGP for their own benefit, whenever they seemed fit just because of their position.

    A humble note for these “netas

    If you hold some position, then you can help us in many ways, help us and boast about it everywhere. But without any contribution leveraging the name of metaKGP is something condemnable. metaKGP projects become illegal for you when it comes to supporting us but leveraging the name of metaKGP for your gains is all good? Sahi hai bhai XD

Support for projects

  • Neither metaKGP as an organization nor metaKGP projects are supported, backed, or funded by any institute administration. MetaKGP projects, including - wikiGYFTGYFENaarad, and IQPS - to name a few, are hosted on a server whose costs are handled by alumni of metaKGP; even this list of who paid how much and when is open to all - metaKGP Finances Sheet.

Updating wiki content is metaKGPs’ responsibility

Let’s first understand what a wiki is,

“A wiki (/ˈwɪki/WI-kee) is a form of hypertext publication on the internet which is collaboratively edited and managed by its audience directly through a web browser.”

Source: wiki : Wikipedia

In simpler words, YOU, as a KGPian, are responsible for updating the wiki's content whenever it is comfortable for you. Making sure the wiki is up & running with all the functions working properly is the role of the maintainers (if the wiki is the only topic of consideration). If you find some information that is outdated and also find the latest information, then it’s your responsibility to update it instead of crying about the outdated information.

However, a handful of guys (and gals) already maintaining over 20 projects can not update the wiki's content. How can you even imagine this small group of students writing all the wiki content ( ╯°□°)╯ ┻━━┻? Fine, you might assume that we have a force of paid students who update the content. BULLSHIT. That force would have to be half of the KGP if you consider the sheer amount of text content on Wiki.

ERP-related projects steal students' data

So, finally, we are at the issue that forced me to write this rant. Let's dive deep into this issue.

This is a major concern about metaKGP projects dealing with ERP, where users are required to enter their ERP credentials on our custom frontend. At present, there are only GYFT and GYFE. There is doubt that the credentials entered are stored on our servers.

I will answer it straight to the point on behalf of my team from metaKGP:

  • No, we do not.

  • We encourage you to check the codebase for both of these projects on our GitHub repositories - GYFE and GYFT - and verify it for yourself.

Why do we need your ERP credentials?

Sorry guys, I don’t know any black magic to fetch your academic timetable. Unfortunately, both GYFE and GYFT require your timetable, and to do that, we need to access your ERP; hence, your ERP credentials are needed.

But you can host a different codebase on the actual server

Yes, surely we can. But we don't choose to. Now, it's up to you whether you trust us with this or not. Don't believe in our words? These projects can be self-hosted (web version). One can understand the steps to host the project locally from their documentation. Self-host them on a machine you control to control the flow of information.

But I don’t wanna install those gigantic node modules of yours

Use the CLI version. Done. Anything else? After taking this concern into consideration, we spent more time building the projects so that they could be used in both web applications and CLI. That’s how they are publicized as well.

![No alt text provided for this image](https://media.licdn.com/dms/image/v2/D5622AQH8ifjam0O9DA/feedshare-shrink_1280/feedshare-shrink_1280/0/1725888212254?e=1730332800&v=beta&t=gC8cnMBqH4z8DDo45C3Ub4QFAwvRUo2FI4C6nuBpgXM align="left")

Note

  • The footer of this poster mentioning about the CLI version.

  • The QR code leads you to the GitHub repository.

Now let’s summarise…

You, the user, have full control over whether YOU CHOOSE:

  • To use metaKGP’s hosted version of these projects and provide your ERP credentials

  • To self-host the web version or use the CLI version locally and have full control of the data being transferred

  • To not use the project :) I mean, no one is forcing you ¯\_(ツ)_/¯. Keep on with your usual life

Naarad + MFTP is illegal

In the context of our discussion, the term ‘Naarad+MFTP’ makes more sense. Both of them, when combined, give the final result of you receiving real-time CDC notices.

TLDR

No, it is not illegal. In no way is the ‘creation’ and ‘working’ of MFTP and Naarad illegal. There is nothing being ‘exploited’ to retrieve the notices (which, from now on, I will be referring to as information). The information is available to every KGPian having access to ERP (from freshmen to final year).

What is MFTP?

MFTP is a backend service that checks ERP for new notice(s) every 2 minutes. Once a new notice is detected, it will be posted to Naarad.

What is Naarad?

Naarad is the noticeboard service for KGPians (having access to their institute email), which displays the notices posted to it. Currently, the notices that are being posted are related to the CDC only. And those notices are automatically posted by MFTP. However, the plan is not to limit Naarad to just CDC notices. We have plans to incorporate other noticeboard services in the future as well. Following are the rough ideas:

  • Notices from Apna Noticeboard (accessible only via campus network). It’s the same thing as the ‘Internal (Apna) Noticeboard’ in ERP

  • Society events and posts

Where’s the problem?

Let’s understand the problem step-by-step.

The problem is with the type of information we are dealing with. The problem is not directly from the institute; it is induced from the companies. Companies have strict confidentiality policies to not share certain information in their notices (stipends, salary, shortlists, etc) with other colleges.

With the context of the type of information, it’s still not enough to be a problem. This information becomes punishable when shared with other colleges or even publicly.

When Naarad+MFTP is used for this purpose, these projects are put in a tight spot.

So, what’s the solution?

The solution is surprisingly simple.

  • Only KGPians should have access to Naarad. Authorize with their institute email. Here’s where we developed Heimdall as a single authorization source for all our required projects.

  • On top of that, add user+pass-based authorization as an extra layer of security.

Sharing of Naarad login credentials

However, one can provide the OTP to authorize with their institute email and their username and password to someone outside of KGP (not a KGPian). Yes, true. The same can happen with ERP credentials as well. Seeing this as a problem in ‘Naarad+MFTP’ doesn't make sense, but it’s fine when it happens with ERP. Still, we log all the connections made to Naarad, in case they are needed, with uniquely identifiable information such as username and IP address.

There also is an implementation which restricts signup and login ONLY to campus network while rest of the application works on any network once logged in. The implementation is completed but not merged simply because it wasn’t needed based on our threat model. You can check this un-merged implementation at, Enforce signup and login only via campus network.

Association with administration & POR

With this settled, there is one more thing that is assumed by the public in general. Let’s clear that out as well…

Placement Committee members have no role in the development and operation of either Naarad or MFTP. They are both solely developed by the people from KGP under metaKGP and are not associated with any POR. The reason for non-association is very simple: accountability.

Take this example: ‘Naarad+MFTP’ had an issue, and it failed to deliver urgent notices on time, resulting in someone missing the deadline. Who will be held accountable?

  • metaKGP, who develops and maintains it?

  • Placement Committee members who endorsed it?

They didn’t want to take that accountability. That’s justified as their endorsement of Naarad implies that this is an official application like ERP. I mean, in the sense that if ERP goes down and notices aren’t received so, they are bound to adjust the deadlines.

That’s where I recommended publicizing with a warning/disclaimer that you use it for your convenience but don’t rely on it solely as a failure of ‘Naarad+MFTP’ won’t be considered by the authorities. And that’s the story of how every notice in ‘Naarad+MFTP’ ends with…

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1727683320066/a50b7d2c-afa4-465b-b320-81e0574ed825.png align="center")

With this, I expected that at least now it is endorsable by them or can be shared through the original CDC Noticeboard, which would have increased the user base of ‘Naarad+MFTP’ who have benefitted from them. But that never happened. I still don’t know (or maybe understand?) why it was denied ¯\_(ツ)_/¯.

KOSS runs metaKGP

No. And, Yes?

Fundamental differences between metaKGP and KOSS

The answer to this particular misconception is subjective. But the following stays true in any case.

  • metaKGP and KOSS are different organizations with different functional architectures and different goals to target. The methods of achieving these different goals might sometimes overlap, blurring the lines between them and leading to confusion.

  • Describing KOSS, according to me, is a closed group (people are chosen once via a selection process) of open-source enthusiasts. KOSS puts efforts in increasing awareness about open-source and elevating development culture through workshops and events - which might not be only limited to KGP (eg, KWoC)

  • MetaKGP is an open group (no such thing as a selection process to join, work, or contribute, except for the electing maintainers) of people with various interests from IIT Kharagpur collaborating together. You need to be a KGPian to be able to contribute to anything. Obviously, credentials are given to maintainers only, but they are elected out of those already active.

    refer, What is metaKGP? ~ by Vikrant Varma aka amrav

A little bit of history

With COVID-19 and things becoming online, most projects lost their importance (GYFT, WIMP, ChillZone, etc.) and weren’t maintained for over 3 years. The sudden shift to online made meet-ups and fun rather difficult, and with all sorts of things happening - which I myself don’t know - things went silent. The pass-on didn’t take place how it was supposed to be originally; with all of the events unfolding, they led to metaKGP development being stale for a long enough time for the ones who knew about metaKGP to graduate and new batches to come, enough that metaKGP came to be known only for the wiki.

With the history of KOSS and metaKGP intermingled, the history of metaKGP was passed on, directly or indirectly, in KOSS. The reasons for intermingled history can be summarised as follows:

  • Love for open-source and tech in general

  • What metaKGP was trying to do with projects aligned with the goal of KOSS to promote open-source

  • This led to a lot of common people in both organizations

Back to the present

And, in the present, when there were enough motivated people to carry out the legacy, we (from KOSS) started fixing all of the old projects (we still are not done yet, far behind from the previous level) to revive the previous glory metaKGP.

That’s how people from KOSS are presently handling metaKGP. That’s how the myth of ‘KOSS runs metaKGP, and if you aren’t in KOSS, you can’t contribute to metaKGP’ came about. You can contribute to metaKGP even if you are not a KGPian ¯_(ツ)_/¯ (the extent to which you can contribute will be limited, though).

We encourage our juniors from KOSS to contribute to metaKGP projects (we don’t force, I promise ;P). That doesn’t mean metaKGP belongs to KOSS or that the fundamental ideologies of metaKGP are completely lost. We still abide by them; we understand the difference in the purpose of both organizations. It’s just that KGP has forgotten what it was over time, and it was bound to happen with certain things falling into place. That’s the second reason why this article exists. To put this story in general people’s view - with my bias, I understand that.

Do KGP deserve metaKGP?

Wait.. wait.. before jumping to conclusions, let me first clarify what I mean by this. There is a belief that KGPians have done something to deserve metaKGP - like paying a fee or being a part of Gymkhana.

Nope, absolutely not. metaKGP came into the picture as a need by motivated individuals to do something for KGP, expecting nothing in return. And that's how it is still going but with an expectation of humbleness for the efforts?

Side Note: If you can’t be humble, then I expect you to handle my rudeness and not cry about it?

If you care about the monetary aspect, we are actually running on a loss :D

Read About metaKGP, and follow through connected links as well.

Let’s take some examples of this feeling of entitlement. There was this incident when Naarad was down, and I received complaints like this:

  • “Don’t take responsibility for things you can not maintain.”

    My Response: A little humble-ness? The project is open source; come forward and help us fix the issue or self-host it for a smaller scale of users. Don’t use it if it’s such an unreliable service. Get your free-loading ass up and build your own? At least you would have a better project than your Netflix or YouTube clones.

  • “Give it back to admins/placement committee members so that they can manage it better.
    My Response: LMFAO, you have reached the peak of being delulu.

    Reality: Back? As far as I understand the meaning of ‘giving back’, you can give something back if you received it or something else from them. None of them did anything to help regarding Naarad or MFTP, if not created problems instead. Admins never helped in this regard. They can’t build one because they are lazy (I know what I am saying). They can’t take ours because students develop it, and they are afraid of taking any issues faced by users on them. What they can do at maximum is outsource it for some cheap labor from a hefty tender, which will result in a fully vulnerable and half-cooked service (referring to the main KGP website). If developed internally, you know what it will look like - remember the CDC CV editor and the entirety of ERP. The reality is it’s just extra work for them; why do it when students are ready (more like forced) to check the noticeboard manually on that crappy ERP. Shouldn’t the CDC Noticeboard be a basic service provided by the institute?

    Why not ERP mass-mailer + CDC Noticeboard?

    Also, some say that institute has the mass-mailer service (the thing by which you receive mails from ERP and other profs) and the CDC Noticeboard, why not just merge them both? Well, technically it is possible but practically it is way out of the question, purely because of the way that mass-mailer works. If you observe you will see 99 emails of other students, along with yours, in the cc section. The algorithm is to send the mail in batch of 99 recipients with a certain time-interval, say 10 minutes. This is because of the restrictions placed on the service they use. So when you receive that mail which was sent to a mass, every set of 99 individuals receive it at different times. The time of arrival can vary from 10 minutes to 3 hours (if you do simple maths). Which will not be sufficient to solve the ‘real-time’ retrieval nature of CDC notices.

    But again, it doesn’t mean this is an unsolved problem (╥﹏╥). And yet, they left this burden for the students, that students are the ones responsible for checking the notice board continuously on that utter piece of crap ERP. And, after all of this, they have the audacity to share notices which have a deadline within half an hour (メ ̄▽ ̄)︻┳═一

I went a little off-topic when ranting, but again, this was supposed to be a rant from the beginning.

Then why do we do it?

Just because we can. We have fun while building stuff. The concept of metaKGP has changed drastically over its history. From being just about the wiki (refer, Why metaKGP? ~ Harsh Gupta, Why metaKGP? ~ Vikrant Varma and What is metaKGP? ~ Vikrant Varma) to a bunch of open-source projects making various hectic processes way less hectic - think about:

  • Checking CDC noticeboard manually on your phone every 10 minutes (Naarad and MFTP)

  • Creating your academic calendar manually with holidays (GYFT)

  • Finding empty rooms during class hours because you don’t want to go back to your hall just to come after an hour for your next class (ChillZone)

  • Finding that professor you want to get permission from for whatever purpose, say NOC?, and having no idea how to approach them (WIMP)

  • Not having a queryable PYQ repository, thus searching them all over the internet to get to half-cooked websites of KGP (referring to literally everything?) or asking seniors for PYQs multiple times (IQPS, previously MFQP)

  • Having no freakin’ idea of what are the previous grade statistics of a subject whose name/syllabus sounds “cool” and you plan to take it as an elective or as an additional to end up in absolute grading (Kronos)

  • Filling the feedback form 10 minutes before the deadline just so that you can download your admit card (fERP)

  • Not even knowing the on-ground history of your own college, information is limited to just a few ‘privileged’ people (Wiki)

What’s the problem then?

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1727596370461/a684e42c-eca7-4cd5-81a5-e75de71091b8.png align="center")

Context for the image: related to Wimp

What’s the problem with it? Nothing. But…

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1727596456838/91e070e2-cf09-4a4e-8cf9-9031a7125c0f.png align="center")

Wait, what? Misinformation? Are you kidding me? Let me rant it out first…

What in this actual world would one achieve by spreading “misinformation” about where a professor is going to be? Surely, one might get to the wrong place at a very crucial time, which might be problematic for them. But why would someone in their right mind build a freakin’ website to play pranks with people? Not us.

The boundaries between being unaware and stupid are getting blurred here. Surely, I understand where they might be coming from - they believe metaKGP ought to serve them for all the reasons I have discussed earlier, or metaKGP is supported by the administration, so we get some ‘exclusive’ data from them. We build the data ourselves, which is scattered all over the ERP or other resources. No one pops out of heaven to provide us with this data magically.

But let me share our POV here as well, as it will be a toxic relationship if we are the only ones who understand you, right? Consider some random guys (and gals) working their asses off for weeks to get something up and running to help even a single person via something they built. Now, there’s a logical issue that everyone in the team missed (I mean, there are a lot of departments, schools, and centers; now, add up all the profs in them; it is not practical to verify each of them). And this is what they get for their hard work.

I don’t understand how you can expect someone to reply politely (until they are getting paid to do so - referring to customer support) with such comments and call the person rude. You were being rude first, rude to their hard work.

Side Story: Core-JS maintainer says, “Open-source is broken”.

With this, I will acknowledge the praise you guys give. Those praises are the things that motivate us to keep building our stuff. And yes, that alone will be a lie; we do it for personal gain, too. We gain experience in building a project and working with a team. But that doesn’t mean to ignore the other side of the story. I felt that it was important to at least share this perspective along with some other important information, such as all those misconceptions that were discussed in the article earlier.

How it should have been?

It would be great if you could stop after the messages in the first screenshot, followed by some examples of those issues that you faced. That’s it. Now, the contact person will contact you regarding whether it is technically possible to fix the issue.

Even better, you can help us fix the problem! In those screenshots, that was a 4th year (yes, who knows how to program as well) ‘claiming’ the spread of ‘misinformation’. Here is this guy in his 1st year fixing the bug. Surely, I don’t expect everyone to understand the programming part and solve the problem. Still, you can be humble and considerate with your issue reports. If you want a humble response, it might hurt your “feelings” if the response isn’t humble. No one here is customer support.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1727599996969/67c3d3d7-e9d1-4384-8bf7-ed77c6969907.png align="center")

That’s a great way of starting the discussion, and things can follow up with a few questions back and forth. Heck, even the first section of those messages is good (again attached below),

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1727600032029/11b12d3f-97a2-4079-b0b3-1cfa93a3af98.png align="center")

That’s the very least you can do while reporting a bug. This doesn’t apply just to our case. I encourage everyone to follow this for any open source project as the maintainer is most likely not getting any incentives for maintaining the project, which you might be relying on daily, instead of assuming that the maintainer owes you something from your previous lives. Here are a few things which you should add to help the maintainer.

How to report an issue / ask for support

Future Plans

I do have some things which I would love to see happen before I graduate:

  • Revival of all the projects which are still relevant in present times.

  • Revive the original essence of wiki. Contacting different bodies (Hall / TSG / Institute) to raise awareness about updating data on the wiki.

  • Revival of Demo Days (it is clickable). Getting contributions from all over the KGP community.

Conclusion

The following myths were examined:

  • metaKGP is supported by the administration

  • Updating wiki content is metaKGPs’ responsibility

  • ERP-related projects steal students' data

  • Naarad + MFTP is illegal

  • KOSS runs metaKGP

A humble bug report goes a long way :D

And, if you:

  • Love tech

  • Believe in the open-source ideology

  • Understand or want to understand tech and are looking for a peer group (didn’t get to join any society and wants one?)

  • Want to build something that has real-life application and solves a problem for the general KGP community or something not limited just to KGP

We encourage you to drop a message in our slack channel and help us out with the already existing projects or bring in a new project idea. If someone from our group, mainly KOSS at the moment, likes the idea, they might work along with you :D